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


pip  install   pycryptoimport base64
from Crypto.Cipher import AES
from Crypto import RandomBS = 16
key = "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 = keydef 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

本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/2054844,如需转载请自行联系原作者

Python3 django2.0 字段加密 解密 AES相关推荐

  1. [crypto]-52-python3中rsa(签名验签加密解密)aes(ecb cbc ctr)hmac的使用,以及unittest测试用

    环境: 在ubuntu14.04下,记得安装:sudo pip3 install pycrypto 代码示例1: =========================== import base64 f ...

  2. Spring-Web - 数据库 字段加密 解密

      在工作中,为了保证数据安全,需要对数据库字段进行加解密,之前工作中就遇到了这种情况,因为线上数据库有很多的人都有权限,运维,账务,运营(通过后台系统查看),出口太多了,但有用户向我们平台举报,说有 ...

  3. 记录一个视频加密解密--AES 进阶版 (EVP)

    OpenSSL 是一个开源的软件库,提供了一组用于进行加密.解密.哈希和证书操作的函数和工具.其中,EVP(Envelope Cryptography API)是 OpenSSL 中的一个模块,用于处 ...

  4. oracle实现sha加密解密,oracle部分字段加密解密 实现模糊搜索

    数据库部分字段加密 实现该字段模糊查询 解决方案:从数据库层面 对改字段进行解密 是目前最为方便的 而oracle可以支持将java类带入到oracle从而调用对应的方法. 基本步骤: 编写好对应的加 ...

  5. java jpa字段加密解密

    公司有个需求,人员身份证号码入库时需要加密,取出时需要解密.由于系统中没有设计加密解密方式,所以需业务中单独处理. 之前考虑加拦截器,后来发现需求不会很大,这种方式太复杂没有必要. 首先添加一个类,处 ...

  6. oracle数据库字段加密解密

    第一步,使用sys账号登录,创建加密解密函数 CREATE OR REPLACE FUNCTION f_Encrypt_number (number_in IN VARCHAR2) RETURN RA ...

  7. RSA加密解密DES加密解密AES

    文章目录 RSA java 依赖 RSACoder RSACoderTest js示例 DES 示例一 js java 示例2 js java AES AesUtil RSA java 依赖 < ...

  8. 利用php的mcrypt模块加密解密(AES、DES等等)

    php des加密: $cipher_list = mcrypt_list_algorithms();//mcrypt支持的加密算法列表 $mode_list = mcrypt_list_modes( ...

  9. 使用mybatis拦截器实现字段加密解密

    前言 .项目中我们存储一些用户信息的使用后根据规定,不可以存储明文,尤其是密码,实现的办法有好多种,今天承接上一篇文章mybatis拦截器,利用拦截器实现使用注解的方式在数据插入前进行加密,查询是自动 ...

最新文章

  1. Flask-SQLAlchemy安装及设置
  2. angularjs -- 路由监听
  3. java.lang.OutOfMemoryError​异常解决方法
  4. Maven与IDEA结合
  5. spring boot 单元测试_spring-boot-plus1.2.0-RELEASE发布-快速打包-极速部署-在线演示
  6. 字符集和编码规范:ASCII,Unicode和UTF-8, latin1,BIG5,GBK
  7. 工具--常见eclipse配置导入web工程(tomcat容器)步骤
  8. 对象池 IObjectPool -- ESBasic 可复用的.NET类库(15)
  9. 用于图像识别的编程语言,你知道几个?
  10. Mybatis插入大量数据效率对比:foreach插入、SqlSession批量插入、sql插入
  11. 10个精选国外免费空间推荐
  12. UART 通信 协议 (二)
  13. 傅里叶变换经滤波处理及傅里叶逆变换
  14. Java Swing窗体JFrame之设置窗体图标
  15. tagged和untagged
  16. 先锋机器人Pioneer3 DX使用
  17. Linux下用户账号管理基础
  18. 云服务器部署web项目 超详细步骤 腾讯云 阿里云
  19. 基于FPGA的一维卷积神经网络CNN的实现(二)资源分配
  20. 对python的认识作文500字_关于启示的作文500字

热门文章

  1. 未能找到路径的一部分_车辆路径规划三种MIP模型
  2. win10添加美式键盘_win10玩dnf卡顿,怎么解决?
  3. hadoop本地模式部署_hadoop启动模式、基本配置、启动方式
  4. mysql timestamp 用法_MYSQL timestamp用法
  5. 联通突然从4g变成3g了_中国联通最快明年底2G全面退网 并推进3G逐步退网
  6. python点击按钮浏览本地文件_Python button选取本地图片并显示的实例
  7. 小程序返回上一页_智能小程序档案馆手把手教你成为小程序流量头号玩家(上)...
  8. 【架构】阿里中台内容整理(部分)
  9. 软件项目管理0813:法律合规
  10. 为何高并发系统中都要使用消息队列