2016-06-03 3 views
-1

Как шифровать пароль базы данных?Yii2 - шифровать пароль для подключения db

return [ 
    'class' => 'yii\db\Connection', 
    'dsn' => 'pgsql:host=localhost;port=5432;dbname=database', 
    'username' => 'user', 
    'password' => 'abcPassword', 
    'charset' => 'utf8', 
]; 
+0

@ vijay nathji У вас есть образец, который я могу назвать? – kasmawati

+0

password_hash метод будет заполнять ваши требования @kasam –

ответ

0

Yii2 поставляется с пользовательским модулем в расширенной настройке. Посмотрите, как он хранит пароли пользователей в зашифрованном виде.

Вы можете использовать метод setPassword() в User Model для получения хэшированных паролей.

public function setPassword($password) 
{ 
    $this->password_hash = Yii::$app->security->generatePasswordHash($password); 
} 

и вызов этого метода перед сохранением данных модели.

public function signup() 
{ 
    if ($this->validate()) { 
     $user = new User(); 
     $user->username = $this->username; 
     $user->email = $this->email; 
     $user->setPassword($this->password); 
     $user->generateAuthKey(); 
     if ($user->save()) { 
      return $user; 
     } 
    } 
    return null; 
} 

Также обратите внимание на документ Yii2 для паролей =>http://www.yiiframework.com/doc-2.0/guide-security-passwords.html и аутентификации. =>http://www.yiiframework.com/doc-2.0/guide-security-authentication.html

+0

На самом деле я имею в виду шифрование пароля, который позволяет подключиться к базе данных. – kasmawati

+0

http://stackoverflow.com/questions/5089841/two-way-encryption-i-need-to-store-passwords-that-can-be-retrieved Эта ссылка может быть вам полезна –

0

Попробуйте через этот путь .. Я не пробовал его .. но может быть полезным для вас.

$database = 'mydb'; 
    $username = 'abc'; 
    $password = '1234'; 

$config['components'] = [ 
    'db' => [ 
     'class' => 'yii\db\Connection', 
     'dsn' => 'mysql:host=192.168.*.*;dbname=' . $database, 
     'username' => $username, 

     'password' => md5($password); // Try this 



     'password' => Yii::$app->security->generatePasswordHash($password); // Or Else try this 

     'charset' => 'utf8', 
    ] 

    return config; 
Смежные вопросы