Hola,
Seguramente funciona bien tu método, pero, ¿porque no usas el lenguaje PHP?
Código PHP:
function generar_contrasena($len = 7, $shf = false) {
$j = array_merge(range('a', 'z'), range('0', '9'));
if ($shf) {
$j = array_merge($j, range('A', 'Z'));
}
shuffle($j);
$len = min(max($len, 7), 14);
return join(array_slice($j, 0, $len), '');
}
$contrasena = generar_contrasena();
$contrasenagenerada = md5($contrasena);
Saludos,