Jak mogę zaszyfrować ciąg w powłoce?


20

Czy mogę zaszyfrować wiadomość (ciąg) za pomocą klucza publicznego w wierszu polecenia? Jak mogę później odszyfrować wynik?

Odpowiedzi:


28

Inną opcją jest 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 za openssl, ponieważ jest częściej instalowany niż gpg
— Doug Harris

To jest idealne - działa na Macu, Alpine, cokolwiek ... dobra robota!
— Jeremy Iglehart,

tak, co powiesz na przykład, który nie używa pliku, ale argument?
— Alexander Mills

11

Jeśli masz gpgzainstalowany, jest to metoda szyfrowania o przemysłowej sile.

gpg --encrypt -r odbiorca@example.com> plik tymczasowy

Wpisz dane w konsoli i naciśnij, Ctrl+Daby zakończyć tekst. To da ci zaszyfrowane dane tempfile. Aby odszyfrować:

gpg --decrypt <plik tymczasowy

Będziesz potrzebować hasła recipient@example.comdo odszyfrowania wiadomości.


ok, więc jeśli hasło musi być wprowadzane interaktywnie, jak to zrobić nieinteraktywnie? Jak to zrobić nieinteraktywnie?
— Alexander Mills

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 (Jestem na komputerze Mac)
— Alexander Mills

5
  1. Wygeneruj parę kluczy prywatny / publiczny

    $ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
    
  2. Zaszyfruj ciąg za pomocą klucza publicznego i zapisz w pliku

    $ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
    
  3. Odszyfruj za pomocą klucza prywatnego

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

4

krypta człowieka (1)

Uwaga:

crypt implementuje maszynę z jednym wirnikiem zaprojektowaną zgodnie z niemiecką Enigmą, ale z 256-elementowym wirnikiem. Metody ataku na takich komputerach są powszechnie znane, dlatego szyfrowanie zapewnia minimalne bezpieczeństwo.

Ale to jest OK dla celów demonstracyjnych.


„Oracle Solaris 10 8/11 Information Library”
— Sebas
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.