ฉันจะเข้ารหัสสตริงในเชลล์ได้อย่างไร?


20

ฉันสามารถเข้ารหัสข้อความ (สตริง) โดยใช้กุญแจสาธารณะที่พรอมต์คำสั่งได้หรือไม่ นอกจากนี้ฉันจะถอดรหัสผลลัพธ์ในภายหลังได้อย่างไร

คำตอบ:


28

ตัวเลือกอื่นคือ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 สำหรับ OpenSSL ตั้งแต่มีการติดตั้งมากกว่าปกติกว่า gpg เป็น
ดั๊กแฮร์ริส

มันสมบูรณ์แบบ - ทำงานบน Mac อัลไพน์อะไรก็ได้ ... ทำได้ดีมาก!
Jeremy Iglehart

ใช่วิธีการเกี่ยวกับตัวอย่างไม่ได้ใช้ไฟล์ แต่อาร์กิวเมนต์?
Alexander Mills

11

หากคุณgpgติดตั้งนี่เป็นวิธีการเข้ารหัสที่ใช้ในอุตสาหกรรม

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

พิมพ์ข้อมูลที่คอนโซลและกดCtrl+Dเพื่อสิ้นสุดข้อความ tempfileนี้จะให้ข้อมูลที่เข้ารหัสใน ในการถอดรหัส:

gpg --decrypt <tempfile

คุณจะต้องใส่ข้อความรหัสผ่านrecipient@example.comเพื่อถอดรหัสข้อความ


ตกลงดังนั้นถ้าวลีรหัสผ่านจำเป็นต้องมีการป้อนข้อมูลแบบโต้ตอบวิธีการทำมันไม่โต้ตอบ? วิธีนี้ไม่โต้ตอบ?
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 (ฉันเป็น mac)
Alexander Mills

5
  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
    

4

ห้องใต้ดินผู้ชาย (1)

บันทึก:

ฝังศพใต้ถุนโบสถ์ดำเนินการเครื่องโรเตอร์หนึ่งที่ออกแบบมาตามแนวของ Enigma เยอรมัน แต่ด้วยใบพัด 256 องค์ประกอบ วิธีการโจมตีในเครื่องดังกล่าวเป็นที่รู้จักอย่างกว้างขวางจึงฝังศพใต้ถุนโบสถ์ให้ความปลอดภัยน้อยที่สุด

แต่มันก็โอเคสำหรับวัตถุประสงค์ในการสาธิต


"คลังข้อมูล Oracle Solaris 10 8/11"
Sebas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.