2008/10/08

การเข้ารหัส base64_encode และการถอดรหัส base64_decode

หลายครั้งเราจำเป็นจะต้องทำการเข้ารหัสข้อมูล เช่น รหัสผ่าน หรือข้อมูลอื่น ๆ เพื่อป้องกันการอ่านออกด้วย
ตาเปล่า ซึ่งแบบเดิมจะใช้การเข้ารหัสแบบ md5 ซึ่งจะไม่สามารถถอดข้อความที่เป็นหรัสนั้นกลับมาเป็นข้อความต้นฉบับได้

ซึ่งการเข้ารหัสแบบ base64_encode จะสามารถถอดรหัสด้วย base64_decode จะได้ข้อความที่เป็นต้นฉบับ
หลายท่านคงจะแลกใจใช่ไหมครับว่า เข้ารหัสแล้วสามารถถอดได้ แล้วจะเข้ารหัสไปทำไม
ในทางปฏิบัติแล้วการเข้ารหัสนั้นเป็นศาสตร์ของการใช้เทคนิคของแต่ละคนเข้ามาช่วยครับ
เช่น การเข้ารหัสแล้วเอารหัสที่ได้ไปเข้ารหัสอีก 1 หรือ 2 ครั้ง ก็จะได้รหัสที่ซับซ้อนขึ้นมาอีก
หรืออาจจะใช้การเพิ่ม text หรือ รหัสอื่น ๆ เพิ่มเข้าไป ซึ่งในตอนถอดรหัส ก็จะต้องทำในตรงกันข้ามตอนเข้ารหัส
ซึ่งในส่วนนี้แล้วขึ้นอยู่กับความสามารถของแต่ละคนครับ

มาดูตัวอย่างแบบง่าย ๆ นะครับ




Sample1.php


echo base64_encode("Werachai Nukitram");


Output

V2VyYWNoYWkgTnVraXRyYW0=



Sample2.php


echo base64_decode("V2VyYWNoYWkgTnVraXRyYW0=");


Output

Werachai Nukitram




Sample3.php


echo base64_encode(base64_encode("Werachai Nukitram"));



Output

VjJWeVlXTm9ZV2tnVG5WcmFYUnlZVzA9



Sample5.php


echo base64_decode(base64_decode("VjJWeVlXTm9ZV2tnVG5WcmFYUnlZVzA9"));




Output

Werachai Nukitram

No comments: