แนะนำตัว
การเข้ารหัสคืออะไร? การเข้ารหัสเกี่ยวข้องกับการแปลงข้อความธรรมดาเป็นข้อความเข้ารหัสซึ่งเรียกว่าการเข้ารหัสข้อมูลและข้อความเข้ารหัสกลับเป็นข้อความธรรมดาซึ่งเรียกว่าการถอดรหัสข้อมูล
เราจะใช้ โมดูลเฟิร์น ในแพ็คเกจการเข้ารหัสเพื่อเข้ารหัสและถอดรหัสข้อมูลโดยใช้ Python ขณะใช้โมดูลเฟอร์เน็ต คีย์เฉพาะจะถูกสร้างขึ้นโดยที่คุณไม่สามารถอ่านหรือจัดการข้อมูลที่เข้ารหัสได้
เมื่อคุณรู้แล้วว่าเราจะจัดการกับอะไร มาเริ่มกันเลย
เริ่มต้นใช้งาน
โมดูลการเข้ารหัสไม่ได้มาพร้อมกับ Python ซึ่งหมายความว่าคุณจะต้องติดตั้งโดยใช้ pip package manager โดยเปิดเทอร์มินัลแล้วพิมพ์รหัสด้านล่าง
pip ติดตั้งการเข้ารหัส
เมื่อคุณดาวน์โหลดและติดตั้งแพ็คเกจแล้ว คุณสามารถนำเข้าโมดูลได้
เราจะใช้โมดูล fernet เพื่อเข้ารหัสและถอดรหัสข้อมูล ให้เรานำเข้ามาไว้ในสคริปต์ Python
จาก cryptography.fernet นำเข้า Fernet
หมายเหตุ − ตรวจสอบให้แน่ใจว่าคุณใช้ตัวพิมพ์ใหญ่ถูกต้อง
คุณพร้อมที่จะเริ่มเขียนสคริปต์ของคุณแล้ว
กำลังสร้างคีย์
ในการเริ่มเข้ารหัสข้อมูล ก่อนอื่นคุณต้องสร้าง fernet key .
คีย์ =Fernet.generate_key()f =Fernet(คีย์)
ในบรรทัดข้างต้น เราสร้างคีย์โดยใช้เมธอด create_key() แล้วกำหนดคีย์นั้นให้กับตัวแปร "f" ในบรรทัดถัดไป
เพียงเท่านี้ คุณก็จะมีคีย์ที่จัดเก็บไว้ในตัวแปรที่พร้อมใช้งาน
เราสามารถพิมพ์คีย์และเก็บไว้ได้หากต้องการ อย่าลืมใช้ฟังก์ชันถอดรหัสขณะพิมพ์
พิมพ์(key.decode())
ผลลัพธ์
Bq64GE−−93K1RVro4go1frN−8twBSvXdbCPSPLIKz9U=
การเข้ารหัสข้อมูล
ในการเข้ารหัสข้อมูลจากคีย์ด้านบน คุณต้องใช้วิธีการเข้ารหัส
encrypted_data =f.encrypt(b"ข้อความนี้กำลังถูกเข้ารหัสและไม่สามารถมองเห็นได้!")
และนั่นคือทั้งหมด ประโยคด้านบนได้รับการเข้ารหัสแล้ว
หากต้องการดูข้อความที่เข้ารหัสของคุณ คุณต้องพิมพ์ข้อความนั้น
พิมพ์(เข้ารหัส_data)
ผลลัพธ์
b'gAAAAABgILy91p_wqMntdT3mDkh0IBXSLjuBMQAfnGZAFkZCX1U6Q7TU2PthgFBwVz0QbKXpuNTHRzAgbdDV4zfuuzkGCXqVD--xJdkTycQH2iurct'lUrCtxJdkTycQH2iurCtxUrCtxJdkTycQH2iurCtxUrcTycQH2iurCt4หมายเหตุ − เรามี b ก่อนประโยคเพื่อแปลงเป็นรูปแบบไบต์ คุณสามารถเลือกใช้วิธี encode() แทนได้เช่นกัน
ถอดรหัสข้อมูล
ตอนนี้คุณมีข้อความเข้ารหัสแล้ว มาดูกันว่าเราจะเปลี่ยนกลับเป็นข้อความที่อ่านง่ายได้อย่างไร
เราสามารถถอดรหัสได้โดยใช้วิธีการถอดรหัสในโมดูล fernet
decrypted_data =f.decrypt(encrypted_data) # f คือตัวแปรที่มีค่าของ key.print(decrypted_data)ผลลัพธ์
b'ข้อความนี้กำลังถูกเข้ารหัสและไม่สามารถมองเห็นได้!'หมายเหตุ − หากคุณดูที่ผลลัพธ์ข้างต้น คุณจะสังเกตได้ว่ามี b' ก่อนข้อความธรรมดาที่พิมพ์ นี่เป็นเพราะข้อมูลที่เข้ารหัสจะถูกแปลงกลับเป็นรูปแบบไบต์ เพื่อให้ได้เฉพาะข้อความธรรมดา เราจำเป็นต้องใช้ฟังก์ชันถอดรหัส
พิมพ์(decrypted_data.decode())ผลลัพธ์
ข้อความนี้กำลังถูกเข้ารหัสและไม่สามารถมองเห็นได้!หมายเหตุ - คุณสามารถเข้ารหัสและถอดรหัสข้อมูลโดยใช้คีย์เดียวกัน นั่นคือถ้าคุณพิมพ์ค่าของคีย์และบันทึก คุณสามารถใช้คีย์เดียวกันโดยกำหนดให้กับตัวแปร ตัวอย่าง −>
f =Fernet(Bq64GE--93K1RVro4go1frN-8twBSvXdbCPSPLIKz9U=) # ค่าของคีย์จริงจะได้รับตัวอย่าง
จาก cryptography.fernet นำเข้า Fernetkey =Fernet.generate_key()print("Key :", key.decode())f =Fernet(key)encrypted_data =f.encrypt(b"ข้อความนี้กำลังถูกเข้ารหัสและไม่สามารถ เห็นแล้ว!")print("หลังจากการเข้ารหัส:", encrypted_data)decrypted_data =f.decrypt(encrypted_data)print(decrypted_data)print("หลังจากถอดรหัส:", decrypted_data.decode())ผลลัพธ์
สำคัญ:u4dM7xw8sNNU3Rm_lwDbixudWSeaM0Z4TTDdQNKsouI =หลังจากการเข้ารหัส:b'gAAAAABgIL3_qbfM_oMgQn653gpk6a7hqxXiR0dl0vrmOmqnr5b6MqrsjGkK1IknxMLLtOCq6_YlX4x3nBedbZqtCqy4os55pttrl-pBO6-dJf6kVP50IpIaKSXbpAsuWl4h_2o_E-4YEqZ5kkgxWrwnqojmkMyuSQ =='ข้อความ b'This จะถูกเข้ารหัสและไม่สามารถเห็นได้!' หลังจากการถอดรหัสลับ:ข้อความนี้จะถูกเข้ารหัสและไม่สามารถเห็นได้ ก่อน>บทสรุป
ตอนนี้คุณได้เรียนรู้การเข้ารหัสและถอดรหัสข้อมูลโดยใช้แพ็คเกจการเข้ารหัสใน Python แล้ว
คุณยังสามารถบันทึกคีย์เป็นไฟล์ .txt จากนั้นดึงข้อมูลเพื่อเข้ารหัสและจัดเก็บรหัสผ่านหรือถอดรหัสรหัสผ่านจากฐานข้อมูลเพื่อตรวจสอบว่าตรงกันหรือไม่ มีอีกหลายกรณีที่คุณสามารถใช้สิ่งนี้ได้ ไม่ว่าจะเป็นโปรเจ็กต์ขนาดเล็กหรือโปรเจ็กต์ขนาดใหญ่
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโมดูลการเข้ารหัส คุณสามารถอ่านเอกสารอย่างเป็นทางการได้ที่ - https://pypi.org/project/cryptography/