注意要点
- 密钥长度需要为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
1 条评论
还有其他模式 除了ECB mode 是不是哦?博主