2015-10-17 130 views
-3

我想散列一些utf-8字符串並將它們存儲在數據庫中,但有沒有辦法在散列時得到相同的值,所以可以說散列後的blabla將是#dqr%36c,我再次散佈blabla我應該得到相同的價值。我不想用鹽。出於某些原因在我的數據庫中。 下面是代碼字符串散列與php

$hashQuestion = md5($question); 
$hashAnswer = md5($answer); 
$sql = "UPDATE $table SET question='$question', answer='$answer', hQuestion='$hashQuestion', hAnswer='$hashAnswer' WHERE id='$id'"; 

其他頁面

$q = md5($question); 
while($row = mysqli_fetch_assoc($fullQ)) { 
printf(nl2br("\n%s\n"), $row['hQuestion']); 
} 
+1

如果你不使用鹽,常見的散列函數將返回相同的輸入相同的結果(甚至與鹽:相同的鹽 - >相同的輸入 - >相同的結果)。 – VolkerK

+0

它沒有用'hash'' md5'' crypt'檢查過,並且所有的都給了我不同的值 –

+0

它看起來並不像你已經試過它,先試試它,然後如果出現錯誤回來問一下。 – Wobbles

回答

0

NO。

您不能通過散列某些數據來解決encoding problem然後「重新散列」它以獲取該值。

+0

現在沒有編碼問題,唯一的問題我不能使用SELECT –