สารบัญ:
- ขั้นตอนที่ 1: การเขียนไฟล์ติดตั้ง
- ขั้นตอนที่ 2: ไฟล์การเข้ารหัส/ถอดรหัส
- ขั้นตอนที่ 3: การทำงานของไฟล์
วีดีโอ: ซอฟต์แวร์เข้ารหัส/ถอดรหัสความปลอดภัย Python: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าด้วย Python ง่าย ๆ คุณสามารถรักษาไฟล์ของคุณให้ปลอดภัยโดยใช้ AES มาตรฐานอุตสาหกรรมได้อย่างไร
ความต้องการ:
- หลาม 3.7
- ห้องสมุด PyAesCrypt
- ห้องสมุดแฮชลิบ
หากคุณไม่มีไลบรารีเหล่านี้ คุณสามารถติดตั้งได้ง่ายๆ โดยพิมพ์:
pip3 ติดตั้ง hashlib
pip3 ติดตั้ง PyAesCrypt
ในเทอร์มินัล (หรือ CMD)
คุณควรมีสิ่งเหล่านี้อยู่แล้ว:
- ห้องสมุดสุ่ม
- ระบบปฏิบัติการห้องสมุด
- ห้องสมุดระบบ
ฉันใช้ OS X แต่ไม่ควรมีความสำคัญมากเกินไป ยกเว้นทิศทางของเครื่องหมายทับในเส้นทางของไฟล์ (OS X: /, Windows: )
โปรดทราบ: เนื่องจากความผิดพลาดบางประการ การเยื้องในโค้ดจึงไม่แสดงขึ้นด้วยเหตุผลบางประการ ดังนั้นโค้ดที่แสดงจะไม่มีการเยื้อง แต่มีอยู่ในไฟล์ Python ที่ฉันแนบในตอนท้ายและในรูปภาพที่แนบมา อย่าใช้รหัสโดยตรงจากข้อความที่แสดง เพราะรหัสจะไม่ทำงานเนื่องจากไม่มีการเยื้อง
หากคุณได้ติดตั้งการพึ่งพาทั้งหมด ไปที่ขั้นตอนที่ 1
ขั้นตอนที่ 1: การเขียนไฟล์ติดตั้ง
ปัจจัยหนึ่งที่ทำให้สิ่งนี้ปลอดภัยมากคือการใช้แฮชเพื่อตรวจสอบรหัสผ่าน ไฟล์ติดตั้ง (ฉันกำลังเรียก setupsafe.py ของฉัน) กำลังจะไปที่:
- สร้างโฟลเดอร์และไฟล์จำลองสำหรับรหัสผ่าน
- ตั้งรหัสผ่าน
- ตั้งค่าหมายเลขไฟล์
- แฮชรหัสผ่าน
ก่อนอื่น เราจะนำเข้าการพึ่งพาของเรา:
จากการนำเข้า sys *
นำเข้าระบบปฏิบัติการ
นำเข้าสุ่ม
นำเข้า hashlib
ต่อไปเราจะสร้างโฟลเดอร์เพื่อเก็บแฮชรหัสผ่านและไฟล์จำลอง:
ลอง: ถ้าไม่ใช่ os.path.exists('desktop/safesetup'):
os.mkdir('เดสก์ท็อป/safesetup/')
ยกเว้น OSError:
print("เกิดข้อผิดพลาดในการสร้างโฟลเดอร์")
รหัสนี้จะสร้างโฟลเดอร์ชื่อ safesetup (เว้นแต่จะมีอยู่แล้ว)
หลังจากนี้ เราจะตั้งรหัสผ่าน และสร้างตัวเลขสุ่มระหว่าง 1 ถึง 100 เพื่อนำทางไปยังไฟล์จำลอง:
รหัสผ่านทั่วโลก = argv[1].encode('utf-8')
n = random.randint(1, 101)
ตอนนี้เรามีรหัสผ่านและหมายเลขไฟล์แล้ว เราจะสร้างไฟล์จำลอง 99 ไฟล์ภายใน safesetup และไฟล์จริงหนึ่งไฟล์จะมีแฮชรหัสผ่านของเรา:
สำหรับ x ในช่วง(101): ถ้า(x != n):
f = open(("เดสก์ท็อป/safesetup/"+str(x)), "w+")
f.close()
อื่น:
รหัสผ่าน = hashlib.sha256(รหัสผ่าน).hexdigest()
f = open(("เดสก์ท็อป/safesetup/"+str(x)), "w+")
f.write (รหัสผ่าน)
f.close()
พิมพ์ (n)
ไฟล์จริงเรียกว่าจำนวนเต็ม n อะไรก็ตาม ไฟล์นี้มีรหัสผ่านของเรา หลังจากที่ถูกแฮชโดยใช้อัลกอริธึม sha256 (อัลกอริธึมแฮชนี้ใช้กันอย่างแพร่หลายในสกุลเงินดิจิตอล โดยเฉพาะ Bitcoin)
จำไว้ว่า n คืออะไร (จะถูกพิมพ์ในคอนโซล) เนื่องจากมันสำคัญพอๆ กับรหัสผ่าน
นั่นคือทั้งหมดที่เราต้องการสำหรับโปรแกรมติดตั้งของเรา ดังนั้นตอนนี้เราจะย้ายไปที่โปรแกรมเข้ารหัส/ถอดรหัส
ขั้นตอนที่ 2: ไฟล์การเข้ารหัส/ถอดรหัส
ส่วนการตั้งค่าของไฟล์หลักนำเข้าการพึ่งพา แฮชรหัสผ่านที่ป้อน และดึงข้อมูลแฮชรหัสผ่านจริงโดยใช้หมายเลขไฟล์ที่ป้อน
ประการแรก การพึ่งพาอาศัยกัน:
จากการนำเข้า sys *import os
นำเข้า pyAesCrypt
นำเข้า hashlib
ถัดไป การแฮชของรหัสผ่านที่ป้อน:
รหัสผ่าน = argv[1].encode('utf-8')รหัสผ่าน = hashlib.sha256(รหัสผ่าน).hexdigest()
สุดท้าย การดึงรหัสผ่านที่แฮช:
file_key = str(argv[2])hash = open(("desktop/safesetup/" + file_key), ("r+")).read()
ส่วนที่สองของไฟล์เข้ารหัสจะเปรียบเทียบแฮช กำหนดความถูกต้องของการเปรียบเทียบ และใช้ไลบรารี AESCrypt python เพื่อเข้ารหัสหรือถอดรหัสไฟล์ที่คุณเลือก นี่เป็นรหัสที่ค่อนข้างใหญ่ แต่ฉันจะแยกย่อย:
if(password == hash): print("รหัสผ่านที่ยอมรับ")
ขนาดบัฟเฟอร์ = 64 * 1024
operation = str(input("คุณกำลังดึงหรือเข้ารหัสไฟล์หรือไม่ (r หรือ e) "))
ถ้า (การดำเนินการ == 'r'):
file_name = str(input("ไฟล์ที่จะดึง: "))
pyAesCrypt.decryptFile((file_name + ".aes"), file_name, รหัสผ่าน, ขนาดบัฟเฟอร์)
os.remove((ชื่อไฟล์ + ".aes"))
elif(การดำเนินการ == 'e'):
file_name = str(input("ไฟล์ที่จะเข้ารหัส: "))
pyAesCrypt.encryptFile(file_name, (file_name + ".aes"), รหัสผ่าน, ขนาดบัฟเฟอร์)
os.remove (ชื่อไฟล์)
อื่น:
พิมพ์ ("ข้อผิดพลาด: ป้อนข้อมูลไม่ถูกต้อง")
อื่น:
พิมพ์ ("การเข้าถึงถูกปฏิเสธ")
คำสั่ง if แรกจะกำหนดว่ารหัสผ่านที่แฮชตรงกันหรือไม่ หากเป็นเช่นนั้น ระบบจะถามว่าคุณต้องการเข้ารหัสไฟล์หรือเรียกไฟล์ที่เข้ารหัสหรือไม่ ขึ้นอยู่กับอินพุตของคุณ มันจะเข้ารหัสหรือถอดรหัสไฟล์ที่ให้มา เมื่อได้รับแจ้งให้ระบุชื่อไฟล์ ตรวจสอบให้แน่ใจว่าได้ระบุพาธเว้นแต่ไฟล์จะอยู่ในไดเร็กทอรีเดียวกันกับโปรแกรม python โปรแกรมจะลบไฟล์ในสถานะก่อนหน้า แทนที่ด้วยไฟล์.aes ที่เข้ารหัส หรือถอดรหัสและแทนที่ด้วยไฟล์ต้นฉบับ
ในอนาคต ฉันอาจอัปเดตสิ่งนี้เพื่อรวมการจดจำใบหน้าโดยใช้ไลบรารี Python OpenCV แต่สำหรับตอนนี้ รหัสผ่านจะต้องเพียงพอ
ขั้นตอนที่ 3: การทำงานของไฟล์
เมื่อต้องการเรียกใช้ไฟล์ติดตั้ง ให้ทำตามขั้นตอนเหล่านี้:
1. พิมพ์เทอร์มินัล:
รหัสผ่านไดเรกทอรี python3/setupname.py (แทนที่ไดเรกทอรี ชื่อการตั้งค่า และรหัสผ่านด้วยค่าที่เกี่ยวข้อง)
2. เทอร์มินัลจะส่งออกหมายเลขไฟล์ของคุณ เก็บนี่ไว้.
ในการรันโปรแกรมเข้ารหัส/ถอดรหัส ให้ทำตามขั้นตอนเหล่านี้:
1. พิมพ์เทอร์มินัล:
python3 directory/filename.py password filenumber (แทนที่ไดเร็กทอรี ชื่อไฟล์ รหัสผ่าน และหมายเลขไฟล์ด้วยค่าตามลำดับ)
2. เทอร์มินัลจะยอมรับหรือปฏิเสธรหัสผ่านของคุณ หากถูกปฏิเสธ ให้ลองอีกครั้งและตรวจสอบว่าคุณพิมพ์ค่าที่ถูกต้อง เมื่อได้รับสิทธิ์ในการเข้าถึงแล้ว เทอร์มินัลจะถามคุณว่าคุณต้องการเข้ารหัสไฟล์หรือเรียกค้นไฟล์หรือไม่ หากต้องการเข้ารหัสไฟล์ ให้พิมพ์ e และหากต้องการดึงไฟล์ที่เข้ารหัส ให้พิมพ์ r
3. จากนั้นคุณจะถูกขอให้ระบุชื่อไฟล์ อย่าลืมระบุไดเร็กทอรีของไฟล์ รวมถึงชื่อ และนามสกุลไฟล์ด้วย อย่างไรก็ตาม หากคุณกำลังถอดรหัสไฟล์ อย่าพิมพ์ส่วน.aes ของส่วนขยาย เนื่องจากรหัสจะรับผิดชอบ
4. จากนั้นโปรแกรมจะเข้ารหัสหรือถอดรหัสไฟล์ที่ให้มา และลบไฟล์ในสถานะก่อนหน้า (เก็บไฟล์ที่เข้ารหัสหรือถอดรหัสไว้)
โว้ว! ขอบคุณที่ทำให้เป็นคำสั่งสอนได้ไกลขนาดนี้ ฉันรู้ว่าการอ่านบทช่วยสอนโค้ดไม่ใช่สิ่งที่สนุกสนานที่สุด ไฟล์ python ถูกปิดไว้ในขั้นตอนนี้ สำหรับบรรดาผู้ที่ต้องการจะลองดู ขอขอบคุณอีกครั้งสำหรับการอ่าน และฉันขอให้คุณโชคดีในความพยายามเขียนโค้ดในอนาคตของคุณ
แนะนำ:
การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน
การซิงค์โฟลเดอร์ด้วย Python: คำแนะนำนี้จะแสดงวิธีทำให้สองโฟลเดอร์ (และโฟลเดอร์ทั้งหมดอยู่ภายใน) ซิงค์กัน ดังนั้นโฟลเดอร์หนึ่งจึงเป็นสำเนาโดยตรงของอีกโฟลเดอร์หนึ่ง เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลงานทั้งในเครื่อง เซิร์ฟเวอร์คลาวด์/เครือข่าย หรือไดรฟ์ USB ไม่มีประสบการณ์ในการเขียนโปรแกรมไม่เ
เกม Python Tic Tac Toe: 4 ขั้นตอน
เกม Python Tic Tac Toe: เกม python tic tac toe เกมนี้สร้างขึ้นใน python ซึ่งเป็นภาษาคอมพิวเตอร์ ฉันได้ใช้โปรแกรมแก้ไข python ชื่อ: pycharm คุณยังสามารถใช้โปรแกรมแก้ไขโค้ด python ปกติได้อีกด้วย
ผู้เข้าร่วม Automático Com Python ไม่มี Google Colab: 5 ขั้นตอน
ผู้เข้าร่วม Automático Com Python ไม่มี Google Colab: Olá pessoal! Tudo bem ?Meu nome é Guilherme, Nesse projeto nós vamos aprender como criar um ChatBot usando a Linguagem de programação Python e o Google Colab!Sou aluno da https://orbe.ai/ - Escola de Inteligência Artificial Infinita… และโครงการ
Python Introduction - Katsuhiko Matsuda & Edwin Cijo - พื้นฐาน: 7 ขั้นตอน
Python Introduction - Katsuhiko Matsuda & Edwin Cijo - Basics: สวัสดี เราเป็นนักเรียน 2 คนใน MYP 2 เราต้องการสอนพื้นฐานของการเขียนโค้ด Python แก่คุณ ซึ่งสร้างขึ้นในช่วงปลายทศวรรษ 1980 โดย Guido van Rossum ในเนเธอร์แลนด์ มันถูกสร้างขึ้นมาเป็นตัวตายตัวแทนของภาษาเอบีซี ชื่อของมันคือ "Python" เพราะเมื่อ
เครื่องสแกนโค้ด QR โดยใช้ OpenCV ใน Python: 7 ขั้นตอน
เครื่องสแกนรหัส QR การใช้ OpenCV ใน Python: ในโลกปัจจุบันนี้ เราเห็นรหัส QR และบาร์โค้ดถูกใช้เกือบทุกที่ตั้งแต่บรรจุภัณฑ์ของผลิตภัณฑ์ไปจนถึงการชำระเงินออนไลน์ และทุกวันนี้ เราเห็นรหัส QR แม้แต่ในร้านอาหารเพื่อดูเมนู ดังนั้นไม่ สงสัยว่าตอนนี้เป็นความคิดที่ยิ่งใหญ่ แต่เคยไหม