【问题标题】:OpenSSL AES-CBC-256 Encryption SALT ERROROpenSSL AES-CBC-256 加密 SALT 错误
【发布时间】:2018-09-09 06:52:22
【问题描述】:

https://wiki.openssl.org/index.php/Enc 中声明,为了让我为 openssl 提供盐值以进行加密,我必须指定

使用 -S salt 可以显式给出其值(以十六进制表示)。

这就是我所做的,openssl enc -aes256 -base64 -iv 40AA481FEB82C35D1CF35CD1C0468C2F -S F80EC003AA550000 -K DD9F547EDAA1373F85EB98D0608E2DCA66D7426F31FC66B87953799153844 -p -in hi.txt -out cipher.enc in openssl

并且 -p 显示盐与我给出的值不同。有什么原因吗?如果是这样,我如何明确地将我的盐定义为 openssl?

【问题讨论】:

  • 我发现即使给定了指定的盐,它也永远不会改变盐。无论哪种方式,在我指定其他参数后它仍然有效。感谢大家的贡献。我将保持开放状态,以防有人可以提供更好的解决方案供大家查看。

标签: openssl


【解决方案1】:

由于您获得了 openssl 的原始字节密钥(选项 -K),因此不使用参数中给出的盐。

Salt 用于根据(字符串)密码计算原始字节密钥。

例如,您可以使用选项-k 并提供您的密码和盐:

$ openssl enc -aes-256-cbc -iv 40AA481FEB82C35D1CF35CD1C0468C2F -S F80EC003AA550000 -k "mypassword" -p  -base64 <<< "hello"
salt=F80EC003AA550000
key=4B3178E6330155D5CB9D5D0A17C1853526D9A38BB990671029730D9202A2E89D
iv =40AA481FEB82C35D1CF35CD1C0468C2F
U2FsdGVkX1/4DsADqlUAACw5WayUfFeijGYjYaI/SQw=

【讨论】:

    猜你喜欢
    • 2019-04-14
    • 2013-08-11
    • 1970-01-01
    • 2017-08-28
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多