05-16-2026, 09:23 AM
0
(05-16-2026, 01:04 AM)Miguel92 escribió: Debes agradecer para ver el contenido...(05-16-2026, 12:33 AM)Tronlar escribió: Debes agradecer para ver el contenido...(05-15-2026, 11:01 PM)Miguel92 escribió: Debes agradecer para ver el contenido...Es más cada vez que un usuario inicie sesión puedes usar password_needs_rehash esto actualizará el hash generado anteriormente, pero no cambiará la contraseña del usuario.
Es mejor usarlo con el algoritmo PASSWORD_ARGON2ID (se llama Argon2id), ya que como tercer parámetro se puede añadir esto:
Dependiendo de la configuración que se utilice lo hará más difícilCódigo PHP: ( Seleccionar Todo )$password = '#HolaMundo26';
$hash = password_hash($password, 'PASSWORD_ARGON2ID', [
'memory_cost' => 1 << 17, // 128 MB
'time_cost' => 4,
'threads' => 2,
]); // Sale: $argon2id$v=19$m=131072,t=4,p=2$dC9TWFp5bWVGYjFzRVVLaQ$3/d6h86ds1nx5n6nKjyPlRnpBiO/W8M+9x973ApLolQ
Sí, tienes razón, haciendo pruebas en la demo con el registro, se me ocurrió eso, iba a subir el script hoy, pero voy a implantarle lo que dices y un error que le visto hoy en las fotos, no las he utilizado nunca y al probarlas hoy lo he visto.
Mañana si me da tiempo lo hago y lo subo, tengo que salir a reparar una avería de luz y no sé a qué hora voy a llegar. Gracias.
Nota: Tiene un error de sintaxis, PHP el algoritmo se pasa como constante nativa, sin comillas, tiene que ser así.
Código PHP: ( Seleccionar Todo )$password = '#HolaMundo26';
$opciones = [
'memory_cost' => 1 << 17, // 128 MB
'time_cost' => 4, // 4
'threads' => 2, // 2
];
$hash = password_hash($password, PASSWORD_ARGON2ID, $opciones);
No me percate de eso, habré copiado las comillas porque en el archivo lo tengo así ...
Código PHP: ( Seleccionar Todo )if(defined('PASSWORD_ARGON2ID')) {
Ya se lo he puesto, ayer por la noche me puse a estudiarlo y lo he terminado esta mañana, ya funciona bien el registro y el login, lo he puesto así,
le he añadido addslashes() porque el hash de Argon2id contiene caracteres como $ y podrían dar problemas sin escapar.
Código PHP: ( Seleccionar Todo )
$key = defined('PASSWORD_ARGON2ID')
? password_hash($tsData['user_password'], PASSWORD_ARGON2ID, ['memory_cost' => 65536, 'time_cost' => 4, 'threads' => 2])
: password_hash($tsData['user_password'], PASSWORD_BCRYPT);
Código PHP: ( Seleccionar Todo )
$new_hash = defined('PASSWORD_ARGON2ID')
? password_hash($_POST['pass'], PASSWORD_ARGON2ID, ['memory_cost' => 65536, 'time_cost' => 4, 'threads' => 2])
: password_hash($_POST['pass'], PASSWORD_BCRYPT);
db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE u_miembros SET user_password = \''.addslashes($new_hash).'\' WHERE user_id = \''.$data['user_id'].'\'') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') );


, habré copiado las comillas porque en el archivo lo tengo así ...
Facebook
Twitter
Reddit
Digg
del.icio.us
Tumblr
Pinterest
Blogger
Fark
LinkedIn
Mix
Google