我想使用python来加密一些数据,并将pycrypto作为一种可能的工具。为了加密数据,我需要:
- 输入密码短语字符串
- SHA-256字符串,为AES-256提供密钥
- 将敏感数据表示为9位字符(ascii)的字符串,如果存在,则使用前导ascii 0(数据将始终采用此格式)。
- 在ecb模式下,使用AES-256加密数据字符串,无盐,使用来自RFC2315的PKCS7填充。
- 将密文表示为Base64(RFC 4648),需要24个字符
使用pycrypto,步骤1-3相当简单。4给了我一点麻烦。我不知道什么是PKCS7填充,也不知道如何确保加密不使用SALT。我希望有人能给我指出正确的方向:第四步。
Tags:
PyCrypto没有用于填充的内置功能。但是它很容易实现。注意:当输入已经是正确的大小时,PKCS7 Padding将添加一个额外的字节块,这个函数也会这样做。 ^{} 此处解释填充。
希望这就是你想要的。 在解密过程中,
unpad
函数可能会派上用场。在Python 3中,unpad函数可能需要强制转换(取决于用法),如下所示:
p.S
相关问题 更多 >
编程相关推荐