Как я могу зашифровать строку в оболочке?


20

Могу ли я зашифровать сообщение (строка) с использованием открытого ключа в командной строке? Кроме того, как я могу расшифровать результат впоследствии?

Ответы:


28

Другой вариант 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

+1 для OpenSSL , так как он чаще всего устанавливается , чем ГПГ
Doug Harris

Это прекрасно - работает на Mac, Alpine, что угодно ... хорошая работа!
Джереми Iglehart

да , как о примере не используется файл , но аргумент?
Александр Миллс

11

Если вы gpgустановили, это метод шифрования промышленного уровня.

GPG --encrypt -r recipient@example.com> временный файл

Введите данные в консоли и нажмите, Ctrl+Dчтобы закончить текст. Это даст вам зашифрованные данные в tempfile. Для расшифровки:

GPG --decrypt <временный файл

Вам нужно будет ключевой фразы для recipient@example.comрасшифровать сообщение.


ОК, так что если потребности PassPhrase быть введены в интерактивном режиме , как это сделать , не в интерактивном режиме ? Как это сделать не в интерактивном режиме?
Александр Миллс

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 (Я на макинтош)
Александр Миллс

5
  1. Сформировать частный / пару открытых ключей

    $ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
    
  2. Шифрование строки с помощью открытого ключа, и хранить в файле

    $ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
    
  3. Un-шифрования с использованием закрытого ключа

    $ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string
    stockexchange.com
    

4

Человек крипты (1)

нота:

crypt реализует машину с одним ротором, разработанную по образцу немецкой Enigma, но с ротором из 256 элементов. Методы атаки на такие машины широко известны, поэтому крипта обеспечивает минимальную безопасность.

Но это нормально для демонстрационных целей.


"Oracle Solaris 10 8/11 Информационная библиотека"
Sebas
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.