2013-07-29 53 views
0

我在我的項目中使用Codeigniter。並且表單將一些數據提交給控制器。Codeigniter錯誤MD5

在控制器中;

echo $this->input->post('message') ---output---> hello 

echo md5($this->input->post('message')) ---output---> 5d41402abc4b2a76b9719d911017c592 

但的MD5的 「你好」 是不是5d41402abc4b2a76b9719d911017c592。

爲什麼會發生這種情況,我如何解決這個問題?

+1

'MD5( '你好')''是5D41402ABC4B2A76B9719D911017C592' – Raptor

+0

哈希是正確的。你不是不小心將''message''的散列與''hello'的散列相比較了嗎? – Powerslave

回答

1

輸出是corrrect,這裏是一個示例Code

echo "hello<br>"; 
echo "md5 :".md5("hello"); 

輸出:

hello 
md5 :5d41402abc4b2a76b9719d911017c592 
1

嘗試do_hash允許您創建SHA1或MD5單向散列適合用於加密的密碼。將默認創建SHA1。示例:

$str=$this->input->post('message') 
$str = do_hash($str); // SHA1 

$str = do_hash($str, 'md5'); // MD5 
+0

從不使用MD5或SHA1來加密密碼。這樣做是不安全的。嘗試'mcrypt'功能:http://php.net/manual/en/book.mcrypt.php – Raptor

+0

@ShivanRaptor kewl !!!從你身上學到了新東西!謝謝 – Ghostman

+0

我錯了,md5(「hello」)是5d41402abc4b2a76b9719d911017c592。但謝謝你的建議。我會用這個。 –

1

CodeIgniter MD5是正確的。也許你正在尋找別的東西。

可以證明這一點here