เปรียบเทียบ Synopsys ของ OpenSSL ทั้งสองเวอร์ชันหลักและล่าสุดฉันขออ้างอิง man man
openssl enc -ciphername [-help] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
openssl enc -cipher [-help] [-ciphers] [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-rand file...] [-writerand file] [-engine id]
เห็นได้ชัดว่ามีความแตกต่างที่มากขึ้นคือเมื่อพิจารณาคำถามนี้มีสวิตช์ทั้งสองนี้หายไปใน 1.1.0:
ตอนนี้คุณมีสองทางเลือก ไม่ต้องสนใจคำเตือนหรือปรับคำสั่งการเข้ารหัสของคุณให้เป็นอย่าง:
openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -salt -in InputFilePath -out OutputFilePath
ที่สวิตช์เหล่านี้:
-aes-256-cbc
คือสิ่งที่คุณควรใช้เพื่อการปกป้องสูงสุดหรือรุ่น 128 บิต 3DES (Triple DES) ได้ถูกละทิ้งมานานแล้วดู Triple DES ถูกคัดค้านโดย NIST ในปี 2560ในขณะที่ AES ได้รับการเร่งความเร็วโดยซีพียูสมัยใหม่ทั้งหมดจำนวนมาก คุณสามารถตรวจสอบว่า CPU ของคุณมีชุดคำสั่ง AES-NIสำหรับตัวอย่างการใช้grep aes /proc/cpuinfo
; ชนะชนะ
-md sha512
เป็นรุ่นที่เร็วกว่าของตระกูลฟังก์ชั่น SHA-2 เมื่อเทียบกับ SHA-256ในขณะที่มันอาจจะปลอดภัยกว่าเล็กน้อย ชนะชนะ
-pbkdf2
: ใช้อัลกอริทึมPBKDF2 (รหัสผ่านที่มาจากฟังก์ชันที่ 2)
-iter 100000
กำลังแทนที่จำนวนการเริ่มต้นของการวนซ้ำสำหรับรหัสผ่านโดยอ้างถึงหน้าคน:
ใช้การวนซ้ำตามจำนวนที่กำหนดในรหัสผ่านในการรับคีย์การเข้ารหัส ค่าที่สูงจะเพิ่มเวลาที่ต้องใช้ในการบังคับไฟล์ที่เป็นผลลัพธ์ ตัวเลือกนี้เปิดใช้งานการใช้อัลกอริทึม PBKDF2 เพื่อรับคีย์