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.