public function handle() { $model = User::create(['email' => $this->email, 'password' => Hash::make($this->password), 'group' => $this->group, 'name' => $this->name, 'surname' => $this->surname]); $keys = KeyPairGenerator::generate($this->password); $key = new RsaKey(); $key->private = $keys['private']; $key->public = $keys['public']; $key->user_id = $model->id; $key->save(); event(new UserCreated($model)); return $model; }
/** * Execute the console command. * * @return mixed */ public function handle() { $path = storage_path('keys/master.pri'); $pathPublic = config('app.backup_key'); if ($this->filesystem->exists($pathPublic)) { $this->error('Master key already exist!'); return; } $pass = str_random(32); $pair = KeyPairGenerator::generate($pass); file_put_contents($path, $pair['private']); file_put_contents($pathPublic, $pair['public']); $this->info('Generated key passprase (write this on paper, will be used to recover lost passwords):'); $this->warn($pass); }
/** * Run the database seeds. * * @return void */ public function run() { Eloquent::unguard(); if (!User::find(1)) { User::create(['email' => 'admin', 'password' => Hash::make('admin'), 'name' => 'Main', 'surname' => 'Admin', 'group' => User::GROUP_ADMIN]); Project::create(['name' => 'Project 1', 'description' => 'Default starter project', 'user_id' => 1]); $keys = KeyPairGenerator::generate('admin'); $key = new RsaKey(); $key->private = $keys['private']; $key->public = $keys['public']; $key->user_id = 1; $key->save(); echo "DB Seeded...\n"; } else { echo "DB Already Seeded...\n"; } }
/** * @param $users */ private function generateKeys($users) { foreach ($users as $userRow) { $newPassword = md5(Crypt::encrypt($userRow->email)); $pair = KeyPairGenerator::generate($newPassword); $user = User::find($userRow->id); $key = new RsaKey(); $key->private = $pair['private']; $key->public = $pair['public']; if ($user->rsaKey()->count()) { $user->rsaKey()->delete(); } $user->rsaKey()->save($key); $user->password = Hash::make($newPassword); $user->save(); echo $user->email . "\t" . $newPassword . "\n"; } }