#coding:utf-8
import binascii
import base64
import pyDes
class 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 d
if __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')
一段Des加密解密代码
最新推荐文章于 2024-05-13 11:40:25 发布