一段Des加密解密代码
来源:互联网 发布:python 3pdf 编辑:程序博客网 时间:2024/05/21 11:31
#coding:utf-8import binasciiimport base64import pyDesclass DES: #IV必须是 8 字节长度的十六进制数 iv = '3132333435363738' #key加密密钥长度,24字节 key = '313233343536373839303132333435363738393031323334' def __init__(self, iv, key): self.iv = iv self.key = key def encrypt(self, data): iv = binascii.unhexlify(self.iv) key = binascii.unhexlify(self.key) k = pyDes.triple_des(key, pyDes.CBC, iv, pad=None, padmode=pyDes.PAD_PKCS5) d = k.encrypt(data) d = base64.encodestring(d) return d def decrypt(self, data): iv = binascii.unhexlify(self.iv) key = binascii.unhexlify(self.key) k = pyDes.triple_des(key, pyDes.CBC, iv, pad=None, padmode=pyDes.PAD_PKCS5) try: data = base64.decodestring(data) d = k.decrypt(data) except: d = '' return dif __name__ == '__main__': data = "1123" des = DES('3132333435363738','313233343536373839303132333435363738393031323334') print 'STR: %s' % (data,) encryptdata = des.encrypt(data.encode('utf-8')) print "ENCODE: %s" % encryptdata decryptdata = des.decrypt(encryptdata) print "STR: %s" % decryptdata.decode('utf-8')