在https://wiki.openssl.org/index.php/enc中,它指出,为了让我为openssl提供盐值以进行加密,我必须指定
使用-s盐,可以显式地给出其价值(以十六进制(。
这就是我所做的,openssl中的 openssl enc -aes256 -base64 -iv 40AA481FEB82C35D1CF35CD1C0468C2F -S F80EC003AA550000 -K DD9F547EDAA1373F85EB98D0608E2DCA66D7426F31FC66B87953799153844 -p -in hi.txt -out cipher.enc
,-p显示出盐的价值不同。有原因吗?如果是这样,我如何明确将盐定义为Openssl?
由于给您optessl的原始字节键(选项 -K
(,因此不使用参数中给出的盐。
盐用于根据(字符串(密码计算原始字节键。
例如,您可以使用选项-k
并将密码与盐一起提供:
$ openssl enc -aes-256-cbc -iv 40AA481FEB82C35D1CF35CD1C0468C2F -S F80EC003AA550000 -k "mypassword" -p -base64 <<< "hello"
salt=F80EC003AA550000
key=4B3178E6330155D5CB9D5D0A17C1853526D9A38BB990671029730D9202A2E89D
iv =40AA481FEB82C35D1CF35CD1C0468C2F
U2FsdGVkX1/4DsADqlUAACw5WayUfFeijGYjYaI/SQw=