des对称加密:是一种比较传统的加密方式,其加密运算、解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码(称为对称密码)
附:http://tool.chacuo.net/cryptdes,这个是在线加解密工具
前提:需要安装pyDes库
from pyDes import des, CBC, PAD_PKCS5 import binascii # 秘钥 KEY = 'keiHG$93' def des_encrypt(s): """ DES 加密 :param s: 原始字符串 :return: 加密后字符串,16进制 """ secret_key = KEY # 密码 iv = secret_key # 偏移 # secret_key:加密密钥,CBC:加密模式,iv:偏移, padmode:填充 des_obj = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) # 返回为字节 secret_bytes = des_obj.encrypt(s, padmode=PAD_PKCS5) # 返回为16进制 return binascii.b2a_hex(secret_bytes) def des_descrypt(s): """ DES 解密 :param s: 加密后的字符串,16进制 :return: 解密后的字符串 """ secret_key = KEY iv = secret_key des_obj = des(secret_key, CBC, iv, pad=None, padmode=PAD_PKCS5) decrypt_str = des_obj.decrypt(binascii.a2b_hex(s), padmode=PAD_PKCS5) return decrypt_str
调用:
print(des_encrypt("ceshi123")) 输出:b'9dd9133d27c1b071f4dc0c13479b3882' print(des_descrypt("9dd9133d27c1b071f4dc0c13479b3882")) 输出:b'ceshi123'
加密:
解密:
可以看到代码和工具的结果都是一样