OpenSSL AES-CBC-256加密SALT ERROR

时间:2018-03-30 08:18:55

标签: openssl

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

  

使用-S salt,可以显式赋予其值(十六进制)。

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

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

1 个答案:

答案 0 :(得分:0)

由于您将原始字节键(选项-K)赋予openssl,因此不会使用参数中给出的salt。

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=