python 加密

1.利用pyDes加密

import pyDes
pyDes.des(key,[mode], [IV], [pad], [padmode])
key:密钥,只能接受8位,如果是16位,可以尝试截取前8位。16或者24位可以尝试triple DES。
mode:加密模式,可填pyDes.ECB (Electronic Code Book) 或者 pyDes.CBC。默认值为ECB。
IV: 可选的初始值字节,必须在使用CBC模式时提供,使用ECB模式时可以设为默认值。
长度必须是8个字节,默认值为None。
pad:当padmode=PAD_PKCS5时可设为默认值,默认值为None;
padmode:可选参数设置填充模式(PAD_NORMAL或PAD_PKCS5),默认值:PAD_NORMAL。

使用示例:

d = des("7ME9F8QC", padmode=PAD_PKCS5)
#由于使用列表转成String后是单引号,所以使用这种方式组合数据。
str = ['{"acType":0, ', '"agent":{}, '.format(AGENT_ID), '"api":"RegisterOrLoginUser","password":"{}", '.format(password), '"username":"{}"'.format(name), '}']
params = "".join(str)
en = d.encrypt(params) #给params进行des加密
base = base64.b64encode(en)#将加密结果转为base64位bytes
base1 = base.decode('utf-8') #解码成utf-8的Unicode。

python3.x里默认的str是(py2.x里的)unicode, bytes是(py2.x)的str, b""前缀代表的就是bytes
python2.x里, b前缀没什么具体意义, 只是为了兼容python3.x的这种写法

2.利用hashlib进行md5加密
示例:

md5_en = md5_b.encode('utf-8')#首先得把Unicode转为byte。
sign = hashlib.md5(md5_en).hexdigest()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • AES是对称加密,同一个密钥同时用来加密和解密. AES加密数据块分组长度必须为128比特,密钥长度可以是128比...
    yytester阅读 4,357评论 0 1
  • python中hashlib提供了常见的摘要算法,如MD5,SHA1等等 什么是摘要算法呢?摘要算法又称哈希算法\...
    可笑的黑耀斑阅读 394评论 0 0
  • 旭暗划破天际 是黎明前的交替 我不懂得霓虹下绚丽的繁华 只身向往江边乌篷渔火 能否摇曳出这一世的情愫 可敢将这夜撕...
    澧沅芷阅读 588评论 0 5
  • 假如 假如有一天,我将远行 亲爱的朋友,你会不会有些不舍 假如有一天,我们不再见面 亲爱的朋友,你会不会有些怀念 ...
    四月的鱼阅读 181评论 0 2
  • 01 了解现实如何运行,解决困难的同时,要思考反思挫折,体验从犯错中学习的愉悦感。 02 创造伟大事物的人不是空想...
    我要的只是成长阅读 179评论 0 2