ord, md5 在@上显示不同的行为
ord, md5 shows different behaviour on @
我用 ord
检查 @
和 @
是相同的字符。但是 ord
输出相同的值,而 md5
则不同。
php -a
Interactive shell
php > echo ord('@');
64
php > echo ord('@');
64
php > echo md5('@');
518ed29525738cebdac49c49e60ea9d3
php > echo md5('@');
e6124653b6620abe51d7c401a7644674
php >
这是截图,
你的第二个是 @
,然后是 U+202A - LEFT-TO-RIGHT EMBEDDING
。因为是不同的字符串,自然有不同的MD5编码。
php > echo md5("@\u{202a}");
e6124653b6620abe51d7c401a7644674
我用 ord
检查 @
和 @
是相同的字符。但是 ord
输出相同的值,而 md5
则不同。
php -a
Interactive shell
php > echo ord('@');
64
php > echo ord('@');
64
php > echo md5('@');
518ed29525738cebdac49c49e60ea9d3
php > echo md5('@');
e6124653b6620abe51d7c401a7644674
php >
这是截图,
你的第二个是 @
,然后是 U+202A - LEFT-TO-RIGHT EMBEDDING
。因为是不同的字符串,自然有不同的MD5编码。
php > echo md5("@\u{202a}");
e6124653b6620abe51d7c401a7644674