Python-DES加密和解密

Python有着丰富的类库,可以快速实现基于DES的加密和解密。下面就是简单的几行代码就可以实现DES-CBC,采用PKCS5进行填充的标准加密和解密。

import pyDes,base64

def __encrypt(data,key):
    des=pyDes.des(key,pyDes.CBC,b"\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)
    ecryptdata=des.encrypt(data)
    return bytes.decode(base64.b64encode(ecryptdata))       #base64 encoding bytes

def __decrypt(ecryptdata,key):
    des=pyDes.des(key,pyDes.CBC,b"\0\0\0\0\0\0\0\0", pad=None, padmode=pyDes.PAD_PKCS5)
    data=des.decrypt(base64.b64decode(ecryptdata))          #base64 decoding bytes
    return bytes.decode(data)

需要指出的是,Python支持的DES-CBC,key是8位的,建议采用安全性更高的DES-EDE-CBC或DES-EDE3-CBC, 使用 pycryptodome做3DES,参考代码如下:

i

你可能感兴趣的:(Python-DES加密和解密)