कमांड पर लाइन के माध्यम से मैक पर फ़ाइल को एन्क्रिप्ट और डिक्रिप्ट करने का सरल तरीका?


36

क्या कोई कमांड-लाइन टूल बनाया गया है जिसे मैं टेक्स्ट फाइल को एन्क्रिप्ट और डिक्रिप्ट कर सकता हूं (और इसे किसी प्रकार का पासवर्ड प्रदान करता हूं)।


में निर्मित = मैक के साथ आता है, पूर्व-स्थापित?
wizlog

जवाबों:


49

openssl मैक ओएस एक्स पर पहले से इंस्टॉल आता है।

आप निम्न आदेशों का उपयोग कर सकते हैं:

# encrypt file.txt to file.enc using 256-bit AES in CBC mode
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc

# the same, only the output is base64 encoded for, e.g., e-mail
openssl enc -aes-256-cbc -a -salt -in file.txt -out file.enc

# decrypt binary file.enc
openssl enc -d -aes-256-cbc -in file.enc -out file.txt

# decrypt base64-encoded version
openssl enc -d -aes-256-cbc -a -in file.enc -out file.txt

( OpenSSL कमांड-लाइन HOWTO से कॉपी की गई : मैं बस किसी फ़ाइल को कैसे एन्क्रिप्ट कर सकता हूं? )

ये कमांड सिफर ब्लॉक चेनिंग (सीबीसी) के साथ 256-बिट एईएस पारिस्थितिकी का उपयोग करते हैं, जो अभी के रूप में सुरक्षित है।


1
आप अपना पासवर्ड कहाँ दर्ज करते हैं?
कोडेक

3
एक बार जब आप उपरोक्त opensslआदेशों में से किसी को निष्पादित करते हैं , तो यह आपसे पूछता है enter aes-256-cbc encryption password
डेनिस

1
@codecompleting या निर्दिष्ट करें -pass pass:MYSECRETPASSWORD, हालाँकि पासवर्ड तब निश्चित रूप से छिपा हुआ नहीं है ps, आदि
Acumenus

1
@Wildcard हाँ, नमक (वास्तव में, आरंभीकरण वेक्टर) एन्क्रिप्टेड फ़ाइल में सिफरटेक्स्ट के साथ संग्रहीत किया जाता है।
डेनिस

1
@KolobCanyon एन्क्रिप्शन कभी नुकसानदेह नहीं होता है। परिभाषा के अनुसार, इसे मूल प्लेटेक्स्ट को पुनर्स्थापित करने के लिए सिफरटेक्स्ट को डिक्रिप्ट करने में सक्षम होना चाहिए। बस कुंजी को मत भूलना।
डेनिस

6

मैंने उसके लिए एक शेल स्क्रिप्ट बनाई है। आप इसे मैक पर या लिनक्स पर उपयोग कर सकते हैं।

#!/bin/bash
#encrypt files with aes-256-cbc cipher using openssl

#encrypt files
if [ $1 == "-e" ];
then
    if [ -f "$2" ];
    then
    openssl aes-256-cbc -a -e -salt -in "$2" -out "$2.aes"
    else
       echo "This file does not exist!" 
    fi
#decrypt files
elif [ $1 == "-d" ];
then
    if [ -f "$2" ];
    then
        openssl aes-256-cbc -a -d -salt -in "$2" -out "$2.decrypt"
    else
        echo "This file does not exist!" 
    fi
#show help
elif [ $1 == "--help" ];
then
    echo "This software uses openssl for encrypting files with the aes-256-cbc cipher"
    echo "Usage for encrypting: ./encrypt -e [file]"
    echo "Usage for decrypting: ./encrypt -d [file]"
else
    echo "This action does not exist!"
    echo "Use ./encrypt --help to show help."
fi

बस इसे निष्पादन योग्य बनाने के लिए समस्या चोद + x फ़ाइल में एक पाठ फ़ाइल में सहेजें। उसके बाद का उपयोग करें। / infil पाने के लिए।


1
अनावश्यक रूप से उपयोग की -aअनावश्यक रूप से आउटपुट फ़ाइल को ब्लोट किया जाएगा।
एक्यूमेनस

5

मैक ओएस एक्स में एन्क्रिप्टेड कंटेनर फाइलें (उदाहरण के लिए Truecrypt के समान) बनाने की क्षमता है, जो वैकल्पिक रूप से उनमें रखे गए डेटा की मात्रा के साथ बढ़ सकते हैं। ऐसा करने के लिए डिस्क उपयोगिता का उपयोग करें।

में डिस्क उपयोगिता , चयन फ़ाइल »न्यू» रिक्त डिस्क छवि ... से एक के साथ विरल छवि प्रारूप। एन्क्रिप्शन के रूप में AES-128 या AES-256 का चयन करें।


कमांड लाइन से, hdiutilप्रोग्राम के माध्यम से समान कार्यक्षमता उपलब्ध है ।


कमांड लाइन के उपयोग के लिए एक एकल पाठ फ़ाइल के लिए एक बिट ओवरकिल है, है ना? क्या आप बाद में लिनक्स एट के माध्यम से फाइल खोल सकते हैं। अल।?
वाइल्डकार्ड

@Wildcard संभवतः (गुंजाइश को बदलने की प्रवृत्ति है); और नहीं, लेकिन सवाल का हिस्सा नहीं था।
डैनियल बेक

@DanielBeck, Ans1 के समान आउटपुट बिट?
पचेरियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.