John ต้องการส่ง1.txtถึง Paul
เขาเข้ารหัสมัน ตอนนี้ชื่อไฟล์myFile.pgpและเขาส่งให้พอล
พอลรับไฟล์
พอลจะรู้ได้อย่างไรว่าชื่อไฟล์ดั้งเดิม ( 1.txt) เป็นอย่างไร? มีพารามิเตอร์ ( --xxx) เพื่อดูชื่อไฟล์หรือไม่
ฉันใช้ GNU PGP (GnuPG) ในโหมดคอนโซล
John ต้องการส่ง1.txtถึง Paul
เขาเข้ารหัสมัน ตอนนี้ชื่อไฟล์myFile.pgpและเขาส่งให้พอล
พอลรับไฟล์
พอลจะรู้ได้อย่างไรว่าชื่อไฟล์ดั้งเดิม ( 1.txt) เป็นอย่างไร? มีพารามิเตอร์ ( --xxx) เพื่อดูชื่อไฟล์หรือไม่
ฉันใช้ GNU PGP (GnuPG) ในโหมดคอนโซล
คำตอบ:
ด้วย GnuPG gpg --list-packetsชื่อไฟล์เดิมสามารถเห็นได้ใน
$ gpg --list-packets test.gpg
: pubkey enc packet: เวอร์ชั่น 3, algo 1, keyid CE7B5510340F19EF
ข้อมูล: [4095 บิต]
: แพ็คเก็ตข้อมูลที่เข้ารหัส:
ความยาว: 67
mdc_method: 2
gpg: เข้ารหัสด้วยคีย์ RSA 4096 บิต, ID CE7B5510340F19EF, สร้าง 2009-10-31
"Mantas Mikulėnas <grawity@gmail.com>"
: แพ็กเก็ตที่ถูกบีบอัด: algo = 2
: แพ็คเก็ตข้อมูลที่แท้จริง:
โหมด b (62), สร้าง 1356362981, name = "รหัสผ่าน.txt",
ข้อมูลดิบ: 8 ไบต์
(หมายเหตุ: แพคเก็ตข้อมูลตัวอักษรทั้งหมดรวมถึงชื่อไฟล์นั้นถูกเข้ารหัสหากคุณไม่มีไพรเวตคีย์คุณจะไม่เห็นชื่อเช่นกัน)
หรือคุณสามารถใช้--decryptพร้อมกับ--verbose(หรือ-v -dสั้น ๆ ):
$ gpg --verbose --decrypt test.gpg> NUL
gpg: รหัสสาธารณะคือ CE7B5510340F19EF
gpg: การใช้คีย์ย่อย CE7B5510340F19EF แทนคีย์หลัก D24F6CB2C1B52632
คีย์ RSA 4096 บิต ID CE7B5510340F19EF สร้าง 2009-10-31
(คีย์ย่อยบนรหัสคีย์หลัก D24F6CB2C1B52632)
gpg: เข้ารหัสด้วยคีย์ RSA 4096 บิต, ID CE7B5510340F19EF, สร้าง 2009-10-31
"Mantas Mikulėnas <grawity@gmail.com>"
gpg: ข้อมูลที่เข้ารหัส AES256
gpg: ชื่อไฟล์ดั้งเดิม = 'รหัสผ่าน.txt'
(ใน Linux ให้ใช้> /dev/nullแทน)
หากคุณต้องการถอดรหัสและบันทึกไฟล์ทั้งหมดให้ใช้--use-embedded-filenameตัวเลือก:
$ gpg -v --use-embedded-filename test.gpg …ผลลัพธ์ที่น่าเบื่อ… gpg: ชื่อไฟล์ดั้งเดิม = 'รหัสผ่าน.txt' มีไฟล์ `password.txt 'อยู่ เขียนทับ? (y / N) n
(หมายเหตุ: คุณไม่ควรใช้-dหรือใช้--decryptตัวเลือกนี้เนื่องจากจะไม่ใช้ชื่อไฟล์ที่ฝังแทนให้ใช้การกระทำ "เริ่มต้น" แทน)
อย่าลืมว่าไม่ใช่ทุกไฟล์ที่มีชื่อ ใน Linux gpgมักใช้เพื่อเข้ารหัสเอาต์พุตของโปรแกรมอื่นโดยตรงโดยไม่บันทึกลงในไฟล์ จากนั้นจะปรากฏเป็น:
$ echo การทดสอบ | gpg --store | gpg - รายการแพ็คเก็ต
: แพ็กเก็ตที่ถูกบีบอัด: algo = 1
: แพ็คเก็ตข้อมูลที่แท้จริง:
โหมด b (62), สร้าง 1356362394, name = "" ,
ข้อมูลดิบ: 8 ไบต์
เมื่อการเข้ารหัส (หรือเพียงแค่การจัดเก็บ) --set-filenameชื่อไฟล์ที่ฝังตัวสามารถเปลี่ยนแปลงได้ด้วย
$ echo การทดสอบ | gpg --store --set-filename "test.txt" | gpg - รายการแพ็คเก็ต
: แพ็กเก็ตที่ถูกบีบอัด: algo = 1
: แพ็คเก็ตข้อมูลที่แท้จริง:
โหมด b (62), สร้าง 1356362790, name = "test.txt",
ข้อมูลดิบ: 8 ไบต์
-vสิ่งที่เป็น มันไม่ปรากฏในgpg -?
--verboseๆ (เช่นเดียวกับ-?และ-dเป็นรูปแบบที่สั้น--helpและ--decrypt.) รุ่นของฉัน GnuPG ไม่แสดงว่ามันเป็น "-v, --verbose" ภายใต้ "ตัวเลือก" ส่วน
gpg -v --use-embedded-filename bbb.gpgแตกไฟล์?
--list-packetsไม่ดึง เพียงแสดง ... (ใช่ไหม)