MD5 của actionscript khác với MD5 của PHP

Tình cờ làm cái game mà cứ bị bug kiểm tra data trước khi save vào database, nên lần mò lại thì thấy: đoạn code mã hóa MD5 (javascript) mà mình xài trong Flash trả về không giống với hàm MD5 của PHP, ví dụ: trong flash mình test md5(215) thì cho ra chuỗi “d41d8cd98f00b204e9800998ecf8427e” trong khi md5(215) trong PHP thì cứ cho ra chuỗi “3b8a614226a953a8cd9526fca6fe9ba5”, rõ ràng là cùng tham số 215, điên cái đầu!

Sau khi tìm hiểu thì có lẽ do encode của tham số truyền vào, một đứa theo chuẩn ISO một đứa theo chuẩn Unicode. Thế mà đi mò tiếp mấy cái hàm convert Unicode, thì lụm được em này. Vậy là bây giờ trong flash cứ xài md5(utf8_encode(215)) là ra đúng cái mà md5 của php trả về.

DOWNLOAD

~ by tvkarch on 15/07/2010.

One Response to “MD5 của actionscript khác với MD5 của PHP”

  1. cái thử 2 mình thử thì ra MD5 là 215 còn cái trước thì ra là -=completed=- , chắc bạn sai chỗ nào đó

Leave a reply to man Cancel reply