使用python代码实现 DES/CBC/pkcs5padding加解密
加密模式:DES/CBC/pkcs5padding
加解密在线工具:http://tool.chacuo.net/cryptdes
需知道加密的密码(8位):yoyo1234
IV偏移量(8位):12345678
输出编码格式(16进制):hex
在线加密结果
输入:yoyo
得到16进制:d50d7e20173f0e27
先安装pyDes库Version: 2.0.1
> pip install pyDes
python代码实现DES加解密
from pyDes import des, CBC, PAD_PKCS5 import binascii """ 加密模式:DES/CBC/pkcs5padding 需pip先安装依赖包 > pip install pyDes """ def des_encrypt(s, key='yoyo1234'): """ DES 加密 :param s: 原始字符串 :param key: 加密密钥8位 :return: 加密后字符串,16进制 """ secret_key = key iv = '12345678' # 偏移量8位 k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) en = k.encrypt(s, padmode=PAD_PKCS5) return binascii.b2a_hex(en) def des_descrypt(s, key='yoyo1234'): """ DES 解密 :param s: 加密后的字符串,16进制 :return: 解密后的字符串 """ secret_key = key iv = '12345678' # 偏移量8位 k = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) de = k.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5) return de if __name__ == '__main__': s = 'yoyo' encry_s = des_encrypt(s) print(encry_s) descry_s = des_descrypt(encry_s) print(descry_s)
运行结果
b'd50d7e20173f0e27' b'yoyo'
加解密AES/CBC/pkcs7padding加解密参考https://www.cnblogs.com/yoyoketang/p/11717282.html