Php 用salt将密码存储为SHA512
我想使用SHA512(salted)存储我的密码。目前我将其存储为MD5。因此,我的登录功能不起作用Php 用salt将密码存储为SHA512,php,yii,yii2,Php,Yii,Yii2,我想使用SHA512(salted)存储我的密码。目前我将其存储为MD5。因此,我的登录功能不起作用 public function actionUserForm() { $model=new UserForm; $newUser = new UserForm; // if it is ajax validation request if(isset($_POST['ajax']) && $_POST['ajax'
public function actionUserForm()
{
$model=new UserForm;
$newUser = new UserForm;
// if it is ajax validation request
if(isset($_POST['ajax']) && $_POST['ajax']==='userForm')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
// collect user input data
if(isset($_POST['UserForm']))
{
$model->attributes=$_POST['UserForm'];
$pass = md5($model->password);
$newUser->password = $model->pass;
$newUser->email = $model->email;
// $newUser->joined = date('Y-m-d');
if ($model->save())
$this->redirect("login");
}
// display the register form
$this->render('userForm',array('model'=>$model));
}
将您的代码更改为。。。您的密码分配有错误
$pass = md5($model->password);
$newUser->password = $pass;
密码不是用md5字符串分配的。请确保您的登录表单模型也验证sha512密码的使用…@DoubleH:当前我的密码另存为字符串。。。所以我不能登录。。我只是试着像md5一样存钱,但还是不能。请告诉我你到底在干什么?阅读文档。Yii2内置了密码哈希。@Coz:我试过了。公共函数beforeSave(){if(parent::beforeSave()){$hash=Yii::$app->getSecurity()->generatePasswordHash($password);返回true;}否则返回false;}@Coz:我收到了这个错误。。致命错误:访问未声明的静态属性:Yii::$app,位于第71行的D:\xamp\htdocs\Final\Yii\demos\feedcloud\protected\models\StudentRegister.php中,请告知如何在登录表单模型设置属性后验证此密码。。将$loginmodel密码更改为md5,如上所述。。