16

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

4 ответа4

23

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

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

gpg --encrypt -r recipient@example.com >tempfile

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

gpg --decrypt <tempfile

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

4

мужской склеп (1)

нота:

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

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

3
  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
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .