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

20

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

Der Hochstapler
источник

Ответы:

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
laalto
источник
+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
    
Кексин Z
источник
4

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

нота:

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

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

Nifle
источник
"Oracle Solaris 10 8/11 Информационная библиотека"
Sebas