new generate-random-password function