这让我发疯,我的md5不同意。我有这个字符串:不同意同一个字符串的md5哈希,例如
组合生成器是一个工具,让您可以轻松地通过选择相关属性创建 一系列的组合。对于 示例,如果您销售三种不同尺寸的T恤和两种不同颜色的T恤,则生成器将为您创建六种组合。
当我散列它使用MD5函数(PHP 5.5.0)在我的电脑上它产生以下散列:422f3f656e1a5f95e8b5cf7565d815b5
http://www.miraclesalad.com/webtools/md5.php同意我的电脑的结果。
http://www.md5.cz/不同意我的电脑和奇迹。
该字符串/ md5对最初是由另一台计算机计算出来的,它也给出了与md5.cz相同的结果。
我读到编码的问题(虽然字符串中不包含任何非ASCII字符),所以我想在我的电脑下面的代码:
<?php
$str = "The Combinations Generator is a tool that allows you to easily create a series of combinations by selecting the related attributes. For example, if you're selling t-shirts in three different sizes and two different colors, the generator will create six combinations for you.";
echo "$str<BR/>";
echo md5($str)."<BR/>";
echo md5(utf8_encode($str))."<BR/>";
echo md5(utf8_decode($str))."<BR/>";
die();
输出是:
组合生成器是一个工具,通过选择相关属性,您可以轻松创建一系列组合。对于 示例,如果您销售三种不同尺寸的T恤和两种不同颜色的T恤,则生成器将为您创建六种组合。
422f3f656e1a5f95e8b5cf7565d815b5
422f3f656e1a5f95e8b5cf7565d815b5
422f3f656e1a5f95e8b5cf7565d815b5
所以它不是关于UTF8。
任何想法发生了什么?
这两页的输入有区别。一个是单行,另一个是文本块。一个字符'a'散列相同。这种差异可能是由于某些空白区别,例如换行符。您在OP中提供的输入已格式化为SO,因此我们无法确切知道您在做什么... –