ओपनएसएसएल के दो मुख्य और हाल के संस्करणों के सिनॉप्सिस की तुलना करते हुए, मैं मैन पेजों को उद्धृत करता हूं।
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 (ट्रिपल DES) कुछ समय पहले छोड़ दिया गया, देखें कि ट्रिपल DES को 2017 में NIST द्वारा पदावनत किया गया है , जबकि AES सभी आधुनिक सीपीयू द्वारा बहुत तेजी से बढ़ जाता है; यदि आपके CPU के पास AES-NI निर्देश सेट है , उदाहरण के लिए उपयोग कर सकते हैं grep aes /proc/cpuinfo
; जीत, जीत
-md sha512
SHA-256 की तुलना में SHA-2 फ़ंक्शन परिवार का तेज़ संस्करण है, जबकि यह थोड़ा अधिक सुरक्षित हो सकता है; जीत, जीत
-pbkdf2
: PBKDF2 (पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 2) एल्गोरिथ्म का उपयोग करें
-iter 100000
पासवर्ड के लिए पुनरावृत्तियों की डिफ़ॉल्ट संख्या को ओवरराइड कर रहा है, मैन पेज को उद्धृत कर रहा है:
एन्क्रिप्शन कुंजी को प्राप्त करने में पासवर्ड पर दिए गए पुनरावृत्तियों की संख्या का उपयोग करें। उच्च मान परिणामी फ़ाइल को ब्रूट-फोर्स करने के लिए आवश्यक समय बढ़ाते हैं। यह विकल्प कुंजी को प्राप्त करने के लिए PBKDF2 एल्गोरिथ्म के उपयोग को सक्षम करता है।