ciao a tutti,
come faccio a far generare un codice di 20 caratteri tra numeri e lettere (sia maiuscole che minuscole)?
grazie in anticipo
ciao a tutti,
come faccio a far generare un codice di 20 caratteri tra numeri e lettere (sia maiuscole che minuscole)?
grazie in anticipo
Ciao, hai bisogno di un generatore di password, di un contatore (0123456789abcdefghiljABCD) per fare inc("ass")=="ast", oppure un codice casuale?
un codice casuale
La più semplice, secondo me, è utilizzare la funzione md5 sul timer e prelevare solo i primi 20 caratteri (ma si tratta di esadecimale solo minuscolo).
Altrimenti con base64_decode
Altre in 30 secondi non me ne vengono.
codice:echo substr(base64_decode(md5((double)microtime())),0,20); echo substr(md5((double)microtime()),0,20);
Se cerchi su php.net ne trovi tante di funzioni che fanno questo lavoro.
Questa invece è una funzione scritta da andr3a.
Codice PHP:
<?php
function randomString($tot, $tp=0) {
// andr3a
srand((double)microtime()*1234567);
$a = Array();
for($i=0;$i<26;$i++) {
$a[$i] = chr($i+97);
}
if($tp!=0) {
array_push($a,"1","2","3","4","5","6","7","8","9","0");
}
$d = count($a)-1;
$st = "";
for($i=0; $i<$tot; $i++) {
$n = rand(0,$d);
$st .= rand(0,1) == 0 ? $a[$n] : strtoupper($a[$n]);
}
return $st;
}
echo randomString(20,1); // 1 alfanumeriche, 0 solo alfa
?>
un'altra interessante potrebbe essere:
nel tuo caso chiaramente richiamerai gen_pw (20)Codice PHP:
function gen_pw ($len) {
$poss="01234567890abcdefghilmnopqrstuvzABCDEFGHILMNOPQRSTUVZ";
$pw = "";
for ($i = 0; $i < $len; $i++) {
$char = substr ($poss, rand (0, strlen ($poss)), 1);
$pw .= $char;
}
return $pw;
}
![]()
Bellissima soluzione ^^Originariamente inviato da Koraz
un'altra interessante potrebbe essere:
nel tuo caso chiaramente richiamerai gen_pw (20)Codice PHP:
function gen_pw ($len) {
$poss="01234567890abcdefghilmnopqrstuvzABCDEFGHILMNOPQRSTUVZ";
$pw = "";
for ($i = 0; $i < $len; $i++) {
$char = substr ($poss, rand (0, strlen ($poss)), 1);
$pw .= $char;
}
return $pw;
}
![]()