it-swarm.asia

Bagaimana saya bisa mengenkripsi string dalam shell?

Bisakah saya mengenkripsi pesan (string) menggunakan kunci publik di command prompt? Juga, bagaimana saya bisa mendekripsi hasilnya setelah itu?

17
Rajesh

Pilihan lain adalah 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
26
laalto

Jika Anda telah menginstal gpg, ini adalah metode enkripsi kekuatan industri.

gpg --encrypt -r [email protected]> tempfile

Ketikkan data di konsol dan tekan Ctrl+D untuk mengakhiri teks. Ini akan memberi Anda data terenkripsi dalam tempfile. Untuk mendekripsi:

gpg --decrypt <tempfile

Anda akan membutuhkan frasa sandi untuk [email protected] untuk mendekripsi pesan.

10
Greg Hewgill

man crypt (1)

catatan:

crypt mengimplementasikan mesin satu rotor yang dirancang sepanjang garis Enigma Jerman, tetapi dengan rotor 256 elemen. Metode serangan pada mesin seperti ini sudah banyak diketahui, sehingga crypt memberikan keamanan minimal.

Tapi tidak apa-apa untuk tujuan demonstrasi.

4
Nifle
  1. Menghasilkan pasangan kunci pribadi/publik

    $ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
    
  2. Enkripsi string menggunakan kunci publik, dan simpan dalam file

    $ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
    
  3. Batalkan enkripsi menggunakan kunci pribadi

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