背景
pyDes 太慢,利用Crypto更快的 DES 加解密。
处理20万的数据,pyDEs要用2个小时,太慢了。
用Crypto改造了一下,处理20万数据40秒左右,效率大大提升,哈哈
实现
from Crypto.Cipher import DES
# 原来的
def des_encrypt(s):
secret_key = KEY
iv = secret_key
k = des(secret_key, padmode=PAD_PKCS5)
en = k.encrypt(s, padmode=PAD_PKCS5)
return base64.b64encode(en)
# 新写的
def des_new(text):
#md5 = MD5.new()
#md5.update(s)
#s = md5.hexdigest()
length=8
count = len(text)
if count < length:
add = (length - count)
# \0 backspace
# text = text + ('\0' * add)
text = text + (' ' * add).encode('utf-8')
elif count > length:
add = (length - (count % length))
text = text + (chr(add) * add).encode('utf-8')
cipher = DES.new(KEY, DES.MODE_ECB)
text_temp = cipher.encrypt(bytes(text))
return base64.b64encode(text_temp)