2012-04-26 44 views
0

我有一個登記表,我使用Zend_Auth的用於我的登錄,下面是信息是如何安全登錄加密:鹽和SHA1加密登記表

->setCredentialTreatment('SHA1(CONCAT(?,salt))'); 

我有以下寄存器方法迄今:

public function addUser($first_name, $surname, $email, $username, $password, $salt, $age, $gender, $uni) { 

    $salt=substr(SHA1(mt_rand()),0,40); 

    $data = array(
     'first_name' => $first_name, 
     'surname' => $surname, 
     'email' => $email, 
     'username' => $username, 
     'password' => $password, 
     'salt' => $salt, 
     'age' => $age, 
     'gender' => $gender, 
     'uni' => $uni, 
    ); 
    $this->insert($data); 
} 

我需要在這裏爲SHA1加密密碼,但我不確定它的外觀。任何幫助都是極好的。

由於

+0

這可能已經將溶液http://php.net/manual/de/function.sha1.php $鹽= mcrypt_create_iv(8,MCRYPT_DEV_URANDOM); $ hash =「{SSHA}」。 base64_encode(sha1($ password。$ salt,true)。$ salt); – 2012-04-26 14:46:32

回答

2
$data = array(
    'first_name' => $first_name, 
    'surname' => $surname, 
    'email' => $email, 
    'username' => $username, 
    'password' => sha1($password.$salt), 
    'salt' => $salt, 
    'age' => $age, 
    'gender' => $gender, 
    'uni' => $uni, 
); 
+0

這工作!謝謝。 – Rex89 2012-04-26 15:09:32