วิธีการเข้ารหัส / ถอดรหัสไฟล์ในโฟลเดอร์อย่างรวดเร็วด้วย python / bash ใน Ubuntu & Mac


0

ฉันต้องการใช้ดิสก์ USB ที่มีการจัดรูปแบบ MSDOS เพื่อให้สามารถถ่ายโอนข้อมูลระหว่างพวกเขาได้อย่างปลอดภัย ดังนั้นฉันต้องการถอดรหัสและเข้ารหัสไฟล์ทั้งหมดในโฟลเดอร์ (และโฟลเดอร์ย่อย) ได้อย่างง่ายดายอาจมีสคริปต์ไพ ธ อนหรือคำสั่ง bash

  • ฉันไม่ต้องการเข้ารหัสแท่ง USB ทั้งหมดเนื่องจากไม่สามารถทำการฟอร์แมตด้วย MSDOS
  • ฉันไม่สามารถใช้รูปแบบ Linux / MacOS ได้เนื่องจากฉันต้องการใช้แท่ง USB กับทั้งคู่
  • ฉันต้องการมีคำสั่งบรรทัดเดียวเพื่อเข้ารหัสไฟล์ทั้งหมดในโฟลเดอร์และโฟลเดอร์ย่อยโดยการป้อนรหัสผ่าน!
  • ฉันต้องการให้มีคำสั่งบรรทัดเดียวเพื่อถอดรหัสไฟล์เหล่านี้ทั้งหมดโดยให้รหัสผ่านที่ถูก
  • ควรทำอย่างรวดเร็ว (ประมาณ 1,000 ไฟล์)

มีวิธีการทำอย่างง่ายดาย มีเครื่องมือหลามหรือไม่? หรือคำสั่ง Linux


1
คุณต้องการจริงๆ หยุดเรียกร้อง & amp; เริ่มสำรวจ . สำรวจตัวเลือกของคุณ แสดงให้เราเห็นว่าคุณได้เข้าหาวิธีการแก้ปัญหาสิ่งที่คุณได้ทำไป ด้วยวิธีนี้คุณจะได้รับคำตอบที่ดีกว่ามาก
C0deDaedalus

ใช่คำตอบที่ดีมาก ฉันต้องการปิดวิกิพีเดียและสแต็คโอเวอร์โฟลว์และอินสแตนซ์ทั้งหมดของที่ที่จะค้นหาข้อมูล ทุกคนควรสำรวจตนเองตั้งแต่เริ่มต้น ใช่คำแนะนำที่ดีคืออะไร ...
Alex

1
Superuser ไม่ใช่ไซต์บริการแบบชำระเงินที่คุณสามารถถามคนว่า "ฉันต้องการสิ่งนี้" และ "ฉันต้องการสิ่งนั้น" และพวกเขาจะทำเพื่อคุณ คุณต้องลองด้วยตัวเองก่อนจากนั้นถ้าคุณพบจุดที่คุณไม่สามารถหาวิธีการทำบางส่วนคุณ (ค้นหาก่อนเพื่อดูว่ามีใครตอบคำถามของคุณแล้ว) ถามคำถามที่ระบุว่า กำลังพยายามทำและตำแหน่งที่คุณติดอยู่เพื่อให้ผู้คนสามารถช่วยคุณได้ ฉันขอโทษ แต่มันต้องเป็นอย่างนี้มิฉะนั้นคุณจะไม่ได้คำตอบที่ดีกว่า
C0deDaedalus

1
ก่อนอื่นคุณเปรียบเทียบระบบไฟล์ที่ macos สามารถเขียนกับ linux ที่สามารถเขียนได้หรือไม่? ฉันแน่ใจว่ามีมากกว่า msdos / vfat พันปีนี้ และคุณรู้ว่าการถอดรหัส & amp; การเขียนไฟล์ข้อความธรรมดาไปที่ไดรฟ์ใด ๆ เป็นความเสี่ยงด้านความปลอดภัยการลบไฟล์ไม่ได้เป็นการลบ & amp; ssd นั้นแทบจะเป็นไปไม่ได้เลยที่จะรับประกันการลบไฟล์แม้กระทั่ง HD ทั่วไปก็ไม่สามารถเช็ดไฟล์ได้เสมอ ไฟล์ temp ของโปรแกรม ตรงกันข้ามกับการเข้ารหัสแบบทันทีหรือไม่
Xen2050

คำตอบ:


1

นี่คือวิธีแก้ปัญหาที่เป็นไปได้

เมื่อพิจารณาจากคำถามของคุณฉันคิดว่าคุณไม่เก่งในเรื่องการเข้ารหัสและพยายามปกป้องข้อมูลของคุณจากการสอดรู้สอดเห็นขณะกำลังเดินทาง (USB Stick) ระหว่างเครื่องสองเครื่อง ข้อมูล (เช่นเมื่อชีวิตของบางคนขึ้นอยู่กับความลับ)

คุณสามารถบรรจุข้อมูลของคุณลงใน tarball และเข้ารหัสด้วย GnuPG

$ tar -cvf archive.tar directory_with_data
$ gpg --symmetric archive.tar

คุณจะได้รับแจ้งให้ป้อนข้อความรหัสผ่านและไฟล์ที่เข้ารหัส archive.tar.gpg จะถูกสร้างขึ้น ในอีกด้านหนึ่งทำ

$ gpg --decrypt archive.tar.gpg > archive.tar
$ tar -xvf archive.tar

เพื่อถอดรหัสและแกะกล่อง

นี่เป็นวิธีแก้ปัญหาที่รวดเร็วและสกปรกซึ่งไม่ได้ปรับขนาดได้ดีนัก โซลูชันที่แข็งแกร่งยิ่งขึ้นคือการใช้ EncFS

สร้างหรือติดตั้งไดเรกทอรีเข้ารหัสบนแท่ง USB

 $ encfs path_USB/.encrypted_directory path_machine/transparent_directory

ตอนนี้เมื่อคุณใส่ไฟล์ของคุณ transparent_directory พวกเขาจะถูกเข้ารหัสในทันที .encrypted_directory. หากต้องการยกเลิกการต่อเชื่อม transparent_directory

 $ fusermount -u path_to_transparent_directory

เส้นทางในคำสั่งด้านบนต้องเป็นเส้นทางที่สมบูรณ์ (ไม่ต้องใช้เส้นทางที่สัมพันธ์กัน)

วิธี EncFS สะดวกและปรับขยายได้ดีกว่าวิธีก่อนหน้า อย่างไรก็ตามขอให้สังเกตว่าคนที่สามารถเข้าถึงข้อมูลที่เข้ารหัสจะรู้ว่ามีไฟล์อยู่ในไดเรกทอรีจำนวนเท่าใดและขึ้นอยู่กับทรัพยากรของเขา / เธอสามารถอนุมานขนาดของไฟล์รวมถึงความยาวของชื่อไฟล์ การโจมตียืนยันยังสามารถทำได้ในชื่อไฟล์เอง


0

ฉันเจอสิ่งที่ฉันต้องการจริงๆ และแทนที่จะเขียนเรื่องไร้สาระหรือเปล่าเลยฉันต้องการแบ่งปันมันเพื่อช่วยคนอื่น

เครื่องมืออยู่ใน GitHub: https://github.com/jlinoff/lock_files

เป็นสคริปต์ python (!) เดียวที่สามารถใช้เข้ารหัสเช่นไฟล์ทั้งหมดในไดเรกทอรี คำสั่งจะเป็น

python lock_files.py -r --lock myfiles/

และเพื่อถอดรหัสไฟล์ที่คุณใช้

python lock_files.py -r --unlock myfiles/

ในกรณีง่าย ๆ นั้นคุณจะถูกขอให้ระบุรหัสผ่านในบรรทัดคำสั่ง ฉันเก็บโฟลเดอร์ที่มีไฟล์และ repo github บนแท่ง USB เพื่อให้ฉันสามารถใช้บนคอมพิวเตอร์ที่ฉันใช้ python มีการติดตั้งและอาจมีแพ็คเกจที่จำเป็น) มันยังเร็วพอสมควร ...

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