【发布时间】:2013-04-25 20:36:39
【问题描述】:
我正在使用 RSA 加密使用 openSSL 加密数据,效果很好。我对 RSA 的理解是,用相同的公钥加密相同的数据总是会给你相同的结果(as stated here 或here)。
但是,使用 openssl 每次我重复加密时都会得到不同的结果。 例如:
➜ ~ echo '30' | openssl rsautl -encrypt -inkey pub.pem -pubin | shasum
11b6e058273df1ebe0be5e0596e07a6c51724ca0 -
➜ ~ echo '30' | openssl rsautl -encrypt -inkey pub.pem -pubin | shasum
05cb82595f7429ef196189f4e781088597d90eee -
那么为什么输出不是唯一的呢?是因为我弄错了 RSA 加密还是因为 openssl 做了一些额外的魔法?
实际上,我正在尝试设计一个仅存储 RSA 加密数据的数据库。我想对加密信息的哈希和进行搜索,如果加密过程本身不是唯一的,这是不可能的。
【问题讨论】:
-
FWIW,rsautil 被贬低以支持pkeyutil
标签: unix terminal cryptography openssl rsa