改进<?php namespace Database\Seeders; use Illuminate\Database\Seeder; class AdminUserTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $salt = md5(uniqid(microtime(), true)); $password = md5(md5('12345').$salt); \DB::table('admin_user')->insert([ [ 'id'=>1, 'username'=>'admin', 'password'=>$password, 'salt'=>$salt ], ]); } }
时间: 2024-01-15 07:05:11 浏览: 24
这段代码可以进行以下改进:
1. 使用 Laravel 自带的 Hash 类库来加密密码,而不是使用 md5,因为 md5 算法已经不再安全;
2. 使用 Laravel 的 Eloquent 模型类来操作数据库,而不是使用 DB 类,因为 Eloquent 更加方便和易用;
3. 使用随机数生成器来生成随机的盐值,而不是使用 microtime 生成的值,因为前者更加安全。
改进后的代码如下:
```
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\AdminUser;
use Illuminate\Support\Facades\Hash;
class AdminUserTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$salt = bin2hex(random_bytes(16));
$password = Hash::make('12345');
AdminUser::create([
'id' => 1,
'username' => 'admin',
'password' => $password,
'salt' => $salt
]);
}
}
```
这样的代码更加安全和易读。