使用python对密码进行加密

Posted _雪辉_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python对密码进行加密相关的知识,希望对你有一定的参考价值。

#!/usr/bin/python3
# -*- coding:utf-8 -*-

import base64
from Crypto.Cipher import AES


class use_aes:

    def __init__(self, key):
        if len(key) > 32:
            key = key[:32]
        self.key = self.to_16(key)

    def to_16(self, key):
        """
        转为16倍数的bytes数据
        :param key:
        :return:
        """
        key = bytes(key, encoding="utf8")
        while len(key) % 16 != 0:
            key += b'\\0'
        return key  
#初始化加密器
    def aes(self):
        return AES.new(self.key, AES.MODE_ECB) # 初始化加密器
#加密
    def encrypt(self, text):
        aes = self.aes()
        return str(base64.encodebytes(aes.encrypt(self.to_16(text))),
                   encoding='utf8').replace('\\n', '') 
#解密
    def decodebytes(self, text):
        aes = self.aes()
        return str(aes.decrypt(base64.decodebytes(bytes(
            text, encoding='utf-8'))).rstrip(b'\\0').decode("utf-8"))


if __name__ == '__main__':
    aes_pass = use_aes("xuhui970125")
    encrypt = aes_pass.encrypt('KhDkNtF2y2')
    decode = aes_pass.decodebytes('HDD47BEkDoCfp0auOV3DQQ==')
    print(encrypt)
    print(decode)

以上是关于使用python对密码进行加密的主要内容,如果未能解决你的问题,请参考以下文章

RSA加密过的表单密码用python怎么模拟

如何使用java对密码加密 加密方式aes

.NET 中的密码加密/解密代码

python怎么对文件进行加密解密

使用 SHA512 对密码进行哈希处理以加密数据

python使用上下文对代码片段进行计时,非装饰器