2013-01-10 41 views
0

該腳本構造爲加密密碼,以便使用它上面的彩虹難得多,而且人們無法輕易破解服務器,但我似乎無法得到它工作,所以我希望你們中的一個能幫助我。我無法讓我的php加密工作

<?php 

function enc($string){ 
    $salt = "randomsalt"; 
    $hash = sha1(md5($salt.$string)) . $md5($string) . sha1(md5(md5($string))); 
    return $hash; 
} 

echo enc('password'); 

?> 
+1

你是什麼意思,它不起作用?它做什麼,你期望它做什麼? – glomad

+6

**哈希!=加密** – SLaks

+3

SHA1和MD5都被破壞。使用bcrypt。 – SLaks

回答

0
$md5($string) 

傷了你的代碼。刪除$

您應該爲所有用戶使用類似bcrypt和不同鹽類的東西。

+0

謝謝你隊友。我沒看見你寫的。我是新來的,呵呵:) –

1

聽意見,但你也有一個錯字:

$md5($string)需求是md5($string)(它不是一個變量,它不應該在它前面$)。

確實,你沒有在這裏加密,但這只是一個命名問題(你正在哈希它,這是你想要做的)......但是,你的鹽可能不應該是一個固定的字符串如果你真的想要一個強大的散列,它應該因用戶而異。在這個問題上還有很多要說的(md5SHA1不是最好的密碼散列算法,因爲兩個彩虹表太多而且執行速度太快),但是您可以閱讀herehere for bcrypt info