Tag Archives | Encryption

Crypto-JS & Node.js Crypto

นั่งงมอยู่หลายวันเรื่อง AES encryption ใน Javascript เนื่องจากหาข้อมูลที่เขียนอธิบายตรงๆ ไม่ได้เลย ทำได้แล้วก็จดเก็บไว้หน่อยดีกว่า เริ่มจากฝั่ง Browser ที่ต้องพึ่ง Crypto-JS เป็นชุด Library สำหรับใช้ในการเข้ารหัสหรือทำ Hash ต่างๆ สิ่งที่เอามาใช้วันนี้คือ AES ที่เป็นการเข้ารหัสที่ใช้กุญแจเหมือนกันทั้งสองฝั่ง วิธีใช้ก็ง่ายๆ มีอยู่ในเว็บคนทำอยู่แล้ว แต่ถ้าทำแค่นี้แล้วใช้กับ Node.js ได้ก็คงไม่ต้องมาจดแล้ว ปัญหามันเกิดตรงที่ถ้าเราใส่ “Secret Passphase” ไปตรงๆ สิ่งที่เกิดขึ้นคือมันจะ random IV (Initialization vector) ให้อัตโนมัติแล้วเอาไปใช้คู่กับ passphase ที่ใส่เข้ามา ทำให้ passphase ไม่สามารถเอาไปใช้กับ Node.js crypto ได้ ก็เลยต้องระบุเป็น Key และ IV ไป แต่ Key ที่ว่ามันก็ไม่ได้มาง่ายๆ อีกเนื่องจากความยาวต้องเท่ากับ 16, 24, 32 [...]

Read full story Comments { 0 }