So sánh các bản tóm tắt của hai phiên bản chính và gần đây của OpenSSL, hãy để tôi trích dẫn các trang hướng dẫn.
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]
Rõ ràng có một số khác biệt lớn hơn, cụ thể là xem xét câu hỏi này, có hai công tắc bị thiếu trong 1.1.0:
Bạn có hai lựa chọn cơ bản bây giờ. Hoặc bỏ qua cảnh báo hoặc điều chỉnh lệnh mã hóa của bạn thành một cái gì đó như:
openssl enc -aes-256-cbc -md sha512 -pbkdf2 -iter 100000 -salt -in InputFilePath -out OutputFilePath
Trường hợp các công tắc này:
-aes-256-cbc
là những gì bạn nên sử dụng để bảo vệ tối đa hoặc phiên bản 128 bit, 3DES (Triple DES) đã bị bỏ rơi cách đây một thời gian, xem Triple DES đã bị NIST từ chối vào năm 2017 , trong khi AES được tăng tốc bởi tất cả các CPU hiện đại; bạn chỉ có thể xác minh xem CPU của bạn có tập lệnh AES-NI không, ví dụ như sử dụng grep aes /proc/cpuinfo
; thắng, thắng
-md sha512
là biến thể nhanh hơn của họ chức năng SHA-2 so với SHA-256 trong khi nó có thể an toàn hơn một chút; thắng, thắng
-pbkdf2
: sử dụng thuật toán PBKDF2 (Hàm dựa trên mật khẩu khóa 2)
-iter 100000
đang ghi đè số lần lặp mặc định cho mật khẩu, trích dẫn trang man:
Sử dụng một số lần lặp nhất định trên mật khẩu để lấy khóa mã hóa. Giá trị cao làm tăng thời gian cần thiết để bắt buộc tệp kết quả. Tùy chọn này cho phép sử dụng thuật toán PBKDF2 để lấy khóa.