注意要点

  • 密钥长度需要为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
最后修改:2020 年 08 月 05 日 09 : 46 AM