2012-04-26 42 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