Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Last active July 19, 2019 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/41a0ac472ebe26c6f61fd9b62193c679 to your computer and use it in GitHub Desktop.
Save parzibyte/41a0ac472ebe26c6f61fd9b62193c679 to your computer and use it in GitHub Desktop.
<?php
// Registrar usuario y generar clave a partir de la contraseña
// https://parzibyte.me/blog
require_once "vendor/autoload.php";
use Defuse\Crypto\KeyProtectedByPassword;
// Esta contraseña es del usuario, cuando se registra
$passwordUsuario = "hunter2";
/*
Aquí guarda al usuario, cifra su contraseña y todo
eso como normalmente lo haces
NO guardes la contraseña en texto plano dentro de la base de datos; mejor
usa un hash como bcrypt:
https://parzibyte.me/blog/2017/11/13/cifrando-comprobando-contrasenas-en-php/
*/
// Si el registro es correcto, le generamos una clave, que será su clave de cifrado
// Fíjate que le pasamos la contraseña en texto plano
$claveDeUsuario = KeyProtectedByPassword::createRandomPasswordProtectedKey($passwordUsuario);
$claveDeUsuarioAscii = $claveDeUsuario->saveToAsciiSafeString();
// La clave debería ser guardada; ya sea en la base de datos o en otro lugar,
// y debe estar ligada al usuario
echo $claveDeUsuarioAscii;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment