Могу ли я зашифровать сообщение (строка) с использованием открытого ключа в командной строке? Кроме того, как я могу расшифровать результат впоследствии?
Могу ли я зашифровать сообщение (строка) с использованием открытого ключа в командной строке? Кроме того, как я могу расшифровать результат впоследствии?
Ответы:
Другой вариант openssl
:
# generate a 2048-bit RSA key and store it in key.txt
openssl genrsa -out key.txt 2048
# encrypt "hello world" using the RSA key in key.txt
echo "hello world" | openssl rsautl -inkey key.txt -encrypt >output.bin
# decrypt the message and output to stdout
openssl rsautl -inkey key.txt -decrypt <output.bin
Если вы gpg
установили, это метод шифрования промышленного уровня.
GPG --encrypt -r recipient@example.com> временный файл
Введите данные в консоли и нажмите, Ctrl+Dчтобы закончить текст. Это даст вам зашифрованные данные в tempfile
. Для расшифровки:
GPG --decrypt <временный файл
Вам нужно будет ключевой фразы для recipient@example.com
расшифровать сообщение.
gpg --encrypt -r recipient@example.com >tempfile gpg: error retrieving 'recipient@example.com' via WKD: No data gpg: recipient@example.com: skipped: No data gpg: [stdin]: encryption failed: No data
(Я на макинтош)
Сформировать частный / пару открытых ключей
$ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
Шифрование строки с помощью открытого ключа, и хранить в файле
$ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
Un-шифрования с использованием закрытого ключа
$ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string
stockexchange.com
нота:
crypt реализует машину с одним ротором, разработанную по образцу немецкой Enigma, но с ротором из 256 элементов. Методы атаки на такие машины широко известны, поэтому крипта обеспечивает минимальную безопасность.
Но это нормально для демонстрационных целей.