def decypt_data(key, data, mode=None, IV=None, pad=None, padmode=None): if mode == None: mode = pyDes.ECB if padmode == None: padmode = pyDes.PAD_NORMAL if len(key) == 8: des = pyDes.des(key, model=mode, IV=IV) elif len(key) == 16 or len(key) == 24: des = pyDes.triple_des(key, mode=mode, IV=IV) else: raise Exception("the length of key only can be 8, 16 or 24.") return des.decrypt(data, pad=pad, padmode=padmode)
from pydes import pyDes from pydes.pyDes import PAD_NORMAL if __name__ == "__main__": data = 'hello world' k = pyDes.des(b'MYKEY123', pyDes.CBC, '\0\0\0\0\0\0\0\0', b' ') encrypted = k.encrypt(data) print(encrypted) decrypted = k.decrypt(encrypted) print(decrypted)