Làm thế nào tôi có thể mã hóa một chuỗi trong shell?


20

Tôi có thể mã hóa tin nhắn (chuỗi) bằng khóa chung tại dấu nhắc lệnh không? Ngoài ra, làm thế nào tôi có thể giải mã kết quả sau đó?

Câu trả lời:


28

Một lựa chọn khác là 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 cho openssl vì nó được cài đặt phổ biến hơn gpg là
Doug Harris

Điều này là hoàn hảo - hoạt động trên Mac, Alps, bất cứ điều gì ... công việc tốt!
Jeremy Iglehart

yeah, làm thế nào về một ví dụ không sử dụng một tập tin nhưng một đối số?
Alexander Mills

11

Nếu bạn đã gpgcài đặt, đây là một phương pháp mã hóa cường độ công nghiệp.

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

Nhập dữ liệu tại bàn điều khiển và nhấn Ctrl+Dđể kết thúc văn bản. Điều này sẽ cung cấp cho bạn dữ liệu được mã hóa trong tempfile. Để giải mã:

gpg --decrypt <tempfile

Bạn sẽ cần cụm mật khẩu recipient@example.comđể giải mã tin nhắn.


ok, vậy nếu cụm từ mật khẩu cần được nhập tương tác, làm thế nào để nó không tương tác? Làm thế nào để điều này không tương tác?
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 (Tôi đang ở trên máy mac)
Alexander Mills

5
  1. Tạo cặp khóa riêng / chung

    $ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
    
  2. Mã hóa chuỗi bằng khóa chung và lưu trữ trong tệp

    $ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
    
  3. Hủy mã hóa bằng khóa riêng

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

4

mật mã người đàn ông (1)

Ghi chú:

tiền điện tử thực hiện một máy một cánh quạt được thiết kế dọc theo các dòng của Enigma của Đức, nhưng với một rôto 256 phần tử. Các phương thức tấn công vào các máy như vậy được biết đến rộng rãi, do đó tiền điện tử cung cấp bảo mật tối thiểu.

Nhưng nó ổn cho mục đích trình diễn.


"Thư viện thông tin Oracle Solaris 10 8/11"
Sebas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.