dissabte, 16 d’abril del 2011

Com generar una contrasenya MySQL 4.1 des de PHP

A partir de la versió 4.1 de MySQL va canviar el mètode de creació de contrasenyes, la funció PASSWORD() retorna una cadena molt més gran i segura amb una encriptació unidireccional.

Si des de PHP volem generar una contrasenya validable des de MySQL ens dotarem d'aquest mètode:


/**
* Retornem una cadena entenedora per la funció PASSWORD()
* de MySQL
*
* @see http://php.net/manual/en/function.sha1.php
* @see http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_password
* @param string $pwd
* @return string
*/
protected function mySqlPassword($pwd)
{
return "*" . strtoupper(sha1(sha1((string) $pwd,true)));
}