python实现DES加解

背景

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)

你可能感兴趣的:(python实现DES加解)