Як я можу зашифрувати рядок у оболонці?


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, оскільки він частіше встановлюється, ніж gpg,
Doug Harris

Це ідеально - працює на Mac, Alpine, будь-що ... хороша робота!
Джеремі Іглехарт

так, як щодо прикладу, що не використовує файл, а аргумент?
Олександр Міллс

11

Якщо ви gpgвстановили, це метод шифрування промислової міцності.

gpg --encrypt -r отримувач@example.com> tempfile

Наберіть дані на консолі та натисніть, Ctrl+Dщоб закінчити текст. Це дасть вам зашифровані дані в tempfile. Для розшифрування:

gpg --decrypt <tempfile

Вам буде потрібна парольна фраза для 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 (Я на mac)
Олександр Міллз

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. Скасувати шифрування за допомогою приватного ключа

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

4

крипта людини (1)

Примітка:

крипта реалізує однороторну машину, розроблену за лініями німецької Enigma, але з ротором на 256 елементів. Методи нападу на такі машини широко відомі, тому крипта забезпечує мінімальну безпеку.

Але це добре для демонстраційних цілей.


"Інформаційна бібліотека Oracle Solaris 10 8/11"
Себас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.