January 8, 2012

Python: เข้ารหัสแบบแฮชและฐาน 64

การเข้ารหัสข้อความแบบ hash สามารถทำได้โดยการเรียก

แล้วจึงสร้าง object ของการเข้ารหัสแบบที่ต้องการ เช่น ประกาศ

สำหรับการเรียกใช้ จะส่งผ่านข้อความที่ต้องการหา hash เข้าไปเก็บไว้ แล้วจึงสั่งให้พิมพ์ค่าออกมา

สังเกตว่าก่อนที่จะพิมพ์ค่าออกมาดูนั้น เราควรผ่านฟังก์ชัน repr() เสียก่อน เพื่อให้ผลลัพท์ที่ออกมาอ่านง่ายขึ้น

อนึ่ง ในกรณีที่ข้อความไม่ยาวมาก ไม่อยาก update หลายครั้ง จะสั่งเช่นนี้ก็ได้



ส่วนการเข้ารหัส hash แบบมี key ทำได้คือ

ซึ่งจะได้ผลลัพท์เข้ารหัสแบบ MD5 ถ้าต้องการใช้วิธีเข้ารหัสแบบอื่น ให้ระบุวิธีเข้ารหัสลงไปในรูปแบบของ function callback เช่นนี้



ผลลัพท์จากข้างต้นนั้น จะออกมาเป็นอักษรในฐาน 16 เสมอ แต่ส่วนมากเราต้องใช้ฐาน 64 ก็สามารถทำได้โดย

ซึ่งเลขในฐาน 64 นี้ จะเริ่มจาก A-Z ตามด้วย a-z และ 0-9 ส่วนสองตัวสุดท้ายจะใช้ + และ / สำหรับ = จะใช้แทนอักษรว่างสำหรับเติมให้ประโยคมีตัวอักษรหารสามลงตัว ถ้าเราต้องการกำหนด 2 ตัวสุดท้ายเองก็ย่อมทำได้คือ

หรือเพื่อความรวดเร็วในกรณีที่ต้องการผลลัพท์สำหรับเว็บไซต์ (เช่นข้างบน) จะเรียกฟังก์สำเร็จนี้

ส่วนการ decode ก็ทำได้เช่นเดียวกับการ encode ครับ

No comments:

Post a Comment