Я шифрую данные с помощью openSSL с использованием шифрования RSA, который отлично работает. Мое понимание RSA заключается в том, что шифрование одних и тех же данных одним и тем же открытым ключом всегда даст вам тот же результат (as stated here или here).Почему зашифрованный текст RSA дает мне разные результаты для одного и того же текста
Однако, используя 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] (http://www.openssl.org/docs/apps/pkeyutl.html) –