言简意赅不套路,上码
''' 全称:数据加密标准(Data Encryption Standard),属于对称加密算法。 DES是一个分组加密算法,典型的 DES 以 64 位为分组对数据加密,加密和解密用的是同一个算法。 它的密钥长度是 56 位(因为每个第 8 位都用作奇偶校验), 密钥可以是任意的 56 位的数,而且可以任意时候改变。 ''' import binascii from pyDes import des, CBC, PAD_PKCS5 # 加密 def des_encrypt(secret_key, s): """ secret_key: 密钥 s: c iv:初始化向量适用于MODE_CBC(CBC模式中必须提供长8字节)、MODE_CFB、MODE_OFB、MODE_OPENPGP,4种模式 """ iv = secret_key key = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) en = key.encrypt(s, padmode=PAD_PKCS5) return binascii.b2a_hex(en) # 解密 def des_decrpyt(secret_key, s): """ secret_key: 密钥 s: c iv:初始化向量适用于MODE_CBC(CBC模式中必须提供长8字节)、MODE_CFB、MODE_OFB、MODE_OPENPGP,4种模式 """ iv = secret_key k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5) return de secret_str = des_encrypt('12345678', 'I LOVE YOU') print(secret_str) clear_str = des_decrpyt('12345678', secret_str) print(clear_str)