Liberando codigo – Generacion de Passwords

por | 07/11/2011

Les comparto un pequeño codigo (PHP) que cree en el 2009 para crear password, capaz que le es de utilidad, a mi me fue de bastante :)

PHP:

[sourcecode language="php"]
function password($length = 10) {
$allowable_characters = "789!$%&/()=?*+abcdeFGHJfghijklm456pqrstunoABCDEKLMNPQRSTUVWXYZ23vwxyz";
$ps_len = strlen($allowable_characters);
mt_srand((double)microtime()*1000000);
$pass = "";
for($i = 0; $i < $length; $i++) {
$pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
}
return $pass;
}

function pas($length = 10) {
$allowable_characters = "ABCDKL9abcdefWXYZghijklmnopqrMNPQRSTUEFGHJV2345678stuvwxyz";
$ps_len = strlen($allowable_characters);
mt_srand((double)microtime()*1000000);
$pass = "";
for($i = 0; $i < $length; $i++) {
$pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
}
return $pass;
}

function p($length = 10) {
$allowable_characters = "ABCDTSWXYZabcdefghijklmUVEFGHJKLMnopqrstuNPQRvwyz";
$ps_len = strlen($allowable_characters);
mt_srand((double)microtime()*1000000);
$pass = "";
for($i = 0; $i < $length; $i++) {
$pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
}
return $pass;
}

Function str2hex($string) {
$hexstr = unpack('H*', $string);
return array_shift($hexstr);
}
[/sourcecode]
(disculpen, no me toma la tabulacion )

Las funciones:
password(numero_caracteres) -> Simbolos+Letras+Numeros
pas(numero_caracteres) -> Letras+Numeros
p(numero_caracteres) -> Letras

Simplemente haciendo un "print" de la funcion devuelven el password. Dependiendo la longitud del valor que se le haya dado a "numero_caracteres".

2 pensamientos en “Liberando codigo – Generacion de Passwords

  1. Sepa Autor

    Gracias por el aporte :)

    Me mato “WITHOUT 1,l,O,0. Because those characters are hard to tell the difference between in some fonts.” jajaja

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.