博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3 django2.0 字段加密 解密 AES
阅读量:5729 次
发布时间:2019-06-18

本文共 1458 字,大约阅读时间需要 4 分钟。

以下设置,适用于python3.5及以前的

pip  install   pycryptoimport base64from Crypto.Cipher import AESfrom Crypto import RandomBS = 16key = "1234567890123456"pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)unpad = lambda s : s[:-ord(s[len(s)-1:])]class AESCipher:    def __init__(self, key):        self.key = key    def encrypt(self, raw):        raw = pad(raw)        iv = Random.new().read(AES.block_size)        cipher = AES.new(self.key, AES.MODE_CBC, iv)        return base64.urlsafe_b64encode(iv + cipher.encrypt(raw))    def decrypt(self, enc):        enc = base64.urlsafe_b64decode(enc.encode('utf-8'))        iv = enc[:BS]        cipher = AES.new(self.key, AES.MODE_CBC, iv)        return unpad(cipher.decrypt(enc[BS:]))a = AESCipher(key=key)b = a.encrypt(raw='123456')b1 = b.decode()print(b1,type(b),type(b1))c = a.decrypt(enc='N4wGyzPTnggQtUr_gyGcsxMzU136thzPIc8y3mJ2uxg=')print(c)

python3.6版本的

pip install  cryptographyfrom cryptography.fernet import Fernet##  key = base64.urlsafe_b64encode(os.urandom(32))  生成keydef  encrypt_p(password):        f = Fernet('Ow2Qd11KeZS_ahNOMicpWUr3nu3RjOUYa0_GEuMDlOc=')        p1 = password.encode()        token = f.encrypt(p1)        p2 = token.decode()        return   p2def  decrypt_p(password):        f = Fernet('Ow2Qd11KeZS_ahNOMicpWUr3nu3RjOUYa0_GEuMDlOc=')        p1 = password.encode()        token = f.decrypt(p1)        p2 = token.decode()        return p2

转载于:https://blog.51cto.com/hequan/2054844

你可能感兴趣的文章
《远见》的读后感作文1000字范文
查看>>
重置密码、单用户模式、救援模式
查看>>
LAMP环境搭建1-mysql5.5
查看>>
第三课 Linux目录及文件管理、用户组管理及bash重定向
查看>>
shell 脚本攻略--小试牛刀
查看>>
spring boot view override
查看>>
bzoj 2282: [Sdoi2011]消防
查看>>
我的友情链接
查看>>
centos5.9使用RPM包搭建lamp平台
查看>>
关于C#面向对象2
查看>>
Javascript String类的属性及方法
查看>>
vim编辑器如何添加或删除多行注释
查看>>
[LeetCode] Merge Intervals
查看>>
iOS开发-按钮的基本使用
查看>>
在QT和SDL搭建的框架中使用OPENGL在SDL窗口上进行绘图
查看>>
REST技术第三步 @BeanParam的使用
查看>>
模板 读入挂!
查看>>
SharePoint 读取 Site Columns 的数据并绑定到DropdownList
查看>>
Python中的对象行为与特殊方法(二)类型检查与抽象基类
查看>>
使用 axios 详解
查看>>