วิธีง่ายๆในการเข้ารหัสและถอดรหัสไฟล์บน Mac ผ่านทางบรรทัดคำสั่ง?


39

มีเครื่องมือบรรทัดคำสั่งในตัวที่ฉันสามารถเข้ารหัสและถอดรหัสไฟล์ข้อความ (และให้รหัสผ่านบางประเภท)


บิวท์อิน = มาพร้อมกับ Mac ติดตั้งมาแล้วหรือ
wizlog

คำตอบ:


52

openssl มาพร้อมกับการติดตั้งบน Mac OS X

คุณสามารถใช้คำสั่งต่อไปนี้:

# 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: ฉันจะเข้ารหัสไฟล์ได้อย่างไร )

คำสั่งเหล่านี้ใช้การเข้ารหัส AES 256 บิตพร้อม Cipher Block Chaining (CBC) ซึ่งมีความปลอดภัยใกล้เคียงกับที่ได้รับในขณะนี้


1
คุณใส่รหัสผ่านของคุณอยู่ที่ไหน
codecompleting

3
เมื่อคุณดำเนินการใด ๆ ดังกล่าวข้างต้นคำสั่งก็ขอให้คุณopenssl enter aes-256-cbc encryption password
Dennis

1
@codecompleting หรือระบุ-pass pass:MYSECRETPASSWORDถึงแม้ว่ารหัสผ่านแล้วแน่นอนไม่ได้ซ่อนจากpsฯลฯ
อาคูเมนุส

2
@ Wildcard ใช่เกลือ (อันที่จริงเวกเตอร์เริ่มต้น) ได้รับการจัดเก็บไว้ด้วย ciphertext ในไฟล์ที่เข้ารหัส
Dennis

1
@KolobCanyon การเข้ารหัสไม่เคยสูญเสีย ตามคำจำกัดความมันต้องการความสามารถในการถอดรหัส ciphertext เพื่อกู้คืนข้อความธรรมดา อย่าลืมกุญแจ
Dennis

6

ฉันได้สร้างเชลล์สคริปต์สำหรับสิ่งนั้น คุณสามารถใช้มันบน Mac หรือบน Linux

#!/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

เพียงบันทึกไฟล์นี้ในไฟล์ข้อความที่มีปัญหา chmod + x เพื่อให้สามารถเรียกใช้ หลังจากการใช้. / ชื่อไฟล์ - ช่วยในการรับข่าวสาร


2
การใช้งาน-aโดยไม่จำเป็นจะขยายไฟล์ออกโดยไม่จำเป็น
Acumenus

5

Mac OS X มีความสามารถในการสร้างไฟล์คอนเทนเนอร์ที่เข้ารหัส (คล้ายกับ Truecrypt) ซึ่งสามารถเลือกที่จะเติบโตตามจำนวนข้อมูลที่วางไว้ ใช้Disk Utilityเพื่อทำสิ่งนี้

ในDisk Utilityเลือกไฟล์»ใหม่» Blank Disk Image ...ด้วยหนึ่งในรูปแบบภาพที่กระจัดกระจาย เลือก AES-128 หรือ AES-256 เป็นการเข้ารหัส


จากบรรทัดคำสั่งฟังก์ชั่นเดียวกันนี้มีอยู่ในhdiutilโปรแกรม


บิตมากเกินไปสำหรับไฟล์ข้อความเดียวสำหรับการเข้าถึงบรรทัดคำสั่งใช่ไหม? คุณสามารถเปิดไฟล์ในภายหลังผ่าน Linux และ al.?
Wildcard

@ Wildcard อาจเป็นไปได้ (ขอบเขตมีแนวโน้มที่จะเปลี่ยนแปลง); และไม่ใช่ แต่ไม่ใช่ส่วนหนึ่งของคำถาม
Daniel Beck

@DanielBeck บิตเอาต์พุตเหมือนกับ Ans1 หรือไม่
Pacerier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.