我有一个管理表:id,name,surname,email和password字段...... 我必须从另一个没有哈希密码的数据库中导入Laravel数据库中的那些信息。
如果我想导入数据,我应该写:
INSERT INTO admins (name, surname, email, password)
VALUES (myName, mySurname, myEmail, myPassword);
我想知道如何散列密码值? 是否有允许它的mysql“methop”? 谢谢你的帮助
答案 0 :(得分:2)
Laravel有一个哈希的辅助方法:
bcrypt('password')
DB::insert('insert into admins (name, surname, email, password) values (?, ?, ?,?)', [$myName, $mySurname, $myEmail, bcrypt($myPassword)]);
与外观Hash
Hash::make('password')
DB::insert('insert into admins (name, surname, email, password) values (?, ?, ?,?)', [$myName, $mySurname, $myEmail, Hash::make($myPassword)]);
答案 1 :(得分:1)
制作一个php scrypt。它为你处理散列。
您可以加密密码,然后将其放入查询中。
但是既然你正在使用laravel,你可以做的就是制作播种机
https://laravel.com/docs/5.5/seeding
然后使用散列
https://laravel.com/docs/master/hashing
应该给你一个头脑
答案 2 :(得分:1)
我只是使用了另一个安装iseed的laravel安装
composer require orangehill/iseed
然后我将我的数据库导入数据库,然后从现有表中创建了一个播种器
php artisan iseed admins
然后 php artisan make:播种机AdminsTableSeeder
从那时起,我刚刚找到并替换......
'password' => 'mypassword',
替换为:
'password' => bcrypt('mypassword'),