這讓我發瘋,我的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,因此我們無法確切知道您在做什麼... –