Yii加密密码问题

时间:2014-09-26 10:41:25

标签: php yii

我希望在将密码插入数据库之前更改要加密的密码,但它不起作用。 它说密码很长。

    public function actionCreate() {
    $model = new Users;

    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if (isset($_POST['Users'])) {
        $model->attributes = $_POST['Users'];
        $password = $_POST['Users']['password'];
        $model->password = md5($password);
        if ($model->save())
            $this->redirect(array('view', 'id' => $model->id));
    }

    $this->render('create', array(
        'model' => $model,
    ));
}

1 个答案:

答案 0 :(得分:1)

您使用什么数据库和数据类型..? 如果使用mysql,则可以使用char(32)或varchar(32),因为MD5加密的长度为32个字符。

并注意您的模型规则

public function rules() {
   return array (
     array('password', 'length', 'max'=>20), 
     //length means your strings password that you entered can not more than 20 character
     //but its not effect with password encrypted result
   ); 
}

可能是“密码长到”的消息,因为您的rules()验证器。