我正在尝试执行相当于openssl以下命令的文件加密:
openssl aes-256-cbc -e -salt -pbkdf2 -iter 10000 -in geometry.json -out geometry.json.enc -pass pass:"password"我使用的是实现'not-yet-commons-ssl:not-yet-commons-ssl:0.3.13‘
对于文件加密后的默认值,openssl命令行的解密总是会抛出以下错误;
40B7B9B5F37F0000:error:1C800064:Provider routines:ossl_cipher_unpadblock:bad decrypt:../providers/implementations/ciphers/ciphercommon_block.c:124:我需要将什么传递给openssl加密函数?
发布于 2022-10-05 00:47:03
默认情况下使用Salt,所以不需要显式地使用它。我将在pbkdf2中使用更高的迭代次数,或者在本例中,使用sha256而不是pbkdf2更有意义。此外,没有理由在密码周围使用引号。除非引号是密码的一部分,否则pass:"password"应该是pass:password。
你可以用这个:
openssl aes-256-cbc -pass pass:password -in geometry.json -out geometry.json.enc -pbkdf2 -iter 100000或者这个:
openssl aes-256-cbc -k password -in geometry.json -out geometry.json.enc -pbkdf2 -iter 100000如果您想使用SHA-256进行密码散列,那么您可以使用以下内容:
openssl aes-256-cbc -k password -in geometry.json -out geometry.json.enc -md sha256https://stackoverflow.com/questions/73944268
复制相似问题