【问题标题】:What is the (default) encoding for the function md5() in PHP?PHP 中函数 md5() 的(默认)编码是什么?
【发布时间】:2013-05-26 03:58:31
【问题描述】:

当我测试这个小脚本时:

$str = "apple";

echo md5($str);

结果与使用utf8做md5的结果相匹配(用C#测试)

我应该相信在任何其他环境中总是会出现这种情况吗?

如果我将这个脚本放在任何 webhost、windows 或 linux 上,它的行为是否总是与 UTF8 编码相同?

【问题讨论】:

  • 使用相同的输入,它总是会给你相同的输出,这就是你要问的吗?
  • @Maerlyn 是的,我担心输入会根据环境有不同的编码,比如来自 GET 变量,或者由网络浏览器或网络服务器预处理。跨度>
  • 您需要确保它采用相同的编码。
  • 相关问题:Javascript和PHP中的编码不同stackoverflow.com/questions/51866469/…

标签: php encoding utf-8


【解决方案1】:

字符串文字的编码是你保存源文件的任何编码。如果你用UTF-16保存这个php文件,你会得到不同的结果,也就是说,如果代码甚至运行。

PHP 中没有统一的或托管的编码。 PHP 中的字符串可以采用任何编码,换句话说,它们相当于字节数组,这些语言具有更抽象的字符串类型。

【讨论】:

    【解决方案2】:

    简单地说 md5() 总是会给出相同的编码。 如果您不信任它,您可以在数据库本身中对数据进行编码。

    【讨论】:

      猜你喜欢
      • 2010-11-03
      • 1970-01-01
      • 2013-03-03
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      相关资源
      最近更新 更多