Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我测试这个小脚本时:
$str = "apple"; echo md5($str);
结果与使用 utf8 做 md5 的结果相匹配(使用 C# 测试)
我是否应该相信在任何其他环境中总是如此?
如果我把这个脚本放在任何网络主机、windows 或 linux 上,它的行为是否总是与UTF8编码相同?
UTF8
字符串文字的编码是您保存源文件的任何编码。如果您将此 php 文件保存为 UTF-16,您会得到不同的结果,也就是说,如果代码甚至可以运行。
PHP 中没有统一或托管的编码。PHP 中的字符串可以采用任何编码方式,换句话说,它们相当于具有更抽象字符串类型的语言的字节数组。
简单地 md5() 将始终给出相同的编码。如果您不能信任它,您可以简单地在数据库本身中对数据进行编码。