我最近在使用PyCrypto编写项目时,使用AES编写了自己的加密方法。我使用哈希生成32字节的密码,并将其提供给使用CBC的AES-256位加密。文件输入使用PKCS#7填充进行填充,以符合可被16整除的要求。
我可以正常加密和解密文件,并且最初加密的输入文件与输出文件具有相同的SHA-256哈希值。
唯一的问题是,如果我提供了错误的口令,解密仍会发生。对于我的工作来说,这是一个问题,因为如果口令不正确,我需要让解密快速失败。
如何实现这个功能?我听说过其他AES加密方法,但似乎PyCrypto仅支持ECB、CBC、CFB、OFB、CTR和OpenPGP。我该如何实现加密强度更高的AES,使得没有正确的口令就无法解密?
我可以正常加密和解密文件,并且最初加密的输入文件与输出文件具有相同的SHA-256哈希值。
唯一的问题是,如果我提供了错误的口令,解密仍会发生。对于我的工作来说,这是一个问题,因为如果口令不正确,我需要让解密快速失败。
如何实现这个功能?我听说过其他AES加密方法,但似乎PyCrypto仅支持ECB、CBC、CFB、OFB、CTR和OpenPGP。我该如何实现加密强度更高的AES,使得没有正确的口令就无法解密?