OpenSSL AES-CBC-256加密盐错误

OpenSSL AES-CBC-256加密盐错误,openssl,Openssl,在文章中说,为了让我为openssl提供加密所需的salt值,我必须指定 使用-S salt可以显式地给出其值(十六进制) 这就是我所做的,openssl enc-aes256-base64-iv 40AA481FEB82C35D1CF35CD1C0468C2F-S F80EC003AA550000-K dd9f547edaa133f85eb98d060e2dca66d7426f31fc66b87953799153844-p-in hi.txt-out cipher.enc p表示盐的值与我给出

在文章中说,为了让我为openssl提供加密所需的salt值,我必须指定

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

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


p表示盐的值与我给出的值不同。有什么原因吗?如果是这样的话,我如何显式地将我的salt定义为openssl?

由于您获得了openssl的原始字节键(选项
-K
),所以不使用参数中给出的salt

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

例如,您可以使用选项
-k
,并将密码与salt一起提供:

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

$openssl enc-aes-256-cbc-iv 40AA481FEB82C35D1CF35CD1C0468C2F-S F80EC003AA550000-k“mypassword”-p-base64我发现即使指定了盐,它也不会更改盐。不管怎样,在我指定了其他参数之后,它仍然有效。谢谢大家的贡献。我会留下这个开放的情况下,任何人都可以提供一个更好的解决方案,每个人都看到。