言简意赅不套路,上码
- '''
- 全称:数据加密标准(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)
-