注意要点
- 密钥长度需要为8位
- 待加密的明文长度必须是8的倍数,不足则补空字符
第三方库
pyDES
加密函数
def des_encrypt(password, key):
if len(key) > 8:
key = key[0:8]
if len(key) <8:
return False
k = des(key, ECB, key, pad=None, padmode=PAD_PKCS5)
en = k.encrypt(password.encode('utf-8'), padmode=PAD_PKCS5)
return str(base64.b64encode(en), 'utf-8')
测试
Input:password
Oouput:CR4i0jmQWR5uGprn9Fu5sA==
解密函数
def des_descrypt(password_des,key):
if len(key) > 8:
key = key[0:8]
if len(key) <8:
return False
k = des(key, ECB, key, pad=None, padmode=PAD_PKCS5)
de = k.decrypt(base64.b64decode(password_des), padmode=PAD_PKCS5)
return de
版权属于:JsOnGmAX-本站所分享的文章技术仅供技术交流 请勿用于非法使用 产生的损失与本人无关
本文链接:http://jsongx.com/archives/32.html
博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议 如有侵权 请联系本人删除
1 条评论
还有其他模式 除了ECB mode 是不是哦?博主