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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容