【问题标题】:Import database with password Laravel使用密码 Laravel 导入数据库
【发布时间】:2018-01-29 13:19:23
【问题描述】:

我有一个管理表,其中包含:id、姓名、姓氏、电子邮件和密码字段... 我必须从另一个密码未散列的数据库中将这些信息导入 Laravel 数据库。

如果我想导入数据,我应该写:

INSERT INTO admins (name, surname, email, password)
VALUES (myName, mySurname, myEmail, myPassword);

我想知道如何散列密码值? 是否有允许它的mysql“方法”? 感谢您的帮助

【问题讨论】:

    标签: mysql laravel-5


    【解决方案1】:

    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)]);
    

    【讨论】:

      【解决方案2】:

      我只是在我安装 iseed 的地方使用了另一个 laravel 安装

      composer require orangehill/iseed
      

      然后我将我的数据库导入数据库,然后从现有表创建播种器

      php artisan iseed admins
      

      然后 php artisan make:seeder AdminsTableSeeder

      从那时起,我只是进行了查找和替换...

      'password' => 'mypassword', 
      

      替换为:

      'password' => bcrypt('mypassword'), 
      

      【讨论】:

        【解决方案3】:

        制作一个 php scrypt。它会为您处理散列。

        您可以对密码进行加密,然后将其放入您的查询中。

        但是由于您使用的是 laravel,所以您可以做一个播种机

        https://laravel.com/docs/5.5/seeding

        然后用散列

        https://laravel.com/docs/master/hashing

        应该给你一个先机

        【讨论】:

        • 感谢您的评论,我找到了解决方案!我使用了 iseed,我解决了我的问题
        猜你喜欢
        • 2016-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-14
        • 2021-06-23
        • 2020-08-27
        • 1970-01-01
        相关资源
        最近更新 更多