Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Area Aziende Cocktail Registrazione domini



Generare password casuali con VBScript

Home + Articoli + Sicurezza + Articolo # 33
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


Molte applicazioni Web si basano sull'autenticazione degli utenti per garantire un accesso sicuro e discreto ad aree riservate; ogni utente ha delle proprie credenziali d'accesso composte da una coppia di valori username e password.

Generalmente viene lasciato all'utente il compito di scegliere una password (ed è buona norma controllare che la stringa sia esclusivamente alfanumerica) ma esistono casi di particolare riservatezza in cui è consigliabile adottare una soluzione per cui non sia l'utente a scegliere la password ma è stesso il sistema, in fase di registrazione e creazione dell'account, a generare una password casuale in formato alfanumerico, ad esempio di 10 caratteri.

Vediamo quindi come creare randomicamente una password usando VBScript lato server, ovvero ASP. Di seguito il codice:
<%@LANGUAGE = VBScript%>
<%
    Function PasswordCasuale()
        Dim arr_pwd, i, x, password
        arr_pwd = Array("a", "b", "c", "d", "e", _
                        "f", "g", "h", "i", "j", _
                        "k", "m", "n", "o", "p", _
                        "q", "r", "s", "t", "u", _
                        "v", "w", "x", "y", "z", _
                        "0", "1", "2", "3", "4", _
                        "5", "6", "7", "8", "9", _
                        "A", "B", "C", "D", "E", _
                        "F", "G", "H", "J", "K", _
                        "L", "M", "N", "O", "P", _
                        "Q", "R", "S", "T", "U", _
                        "V", "W", "X", "Y", "Z", _
                        "0", "1", "2", "3", "4", _
                        "5", "6", "7", "8", "9")
        i = 0
        While i < 10
            Randomize()
            x = (Int((Rnd * 69) + 1))
            password = password + arr_pwd(x)
            i = i + 1
        Wend
        PasswordCasuale = password
    End Function
    Response.Write PasswordCasuale()
%>
Lo script è più semplice di quanto possa apparire a prima vista: creo un array in cui specifico tutti i caratteri da utilizzare (numeri e lettere sia maiuscole che minuscole); a questo punto effettuo un ciclo ed utilizzo le funzioni preferite del VBScript per la generazione di numeri casuali.

Alla fine richiamo la funzione PasswordCasuale() e la stampo a video. Mettendo lo script in produzione a stampa a video potrà essere fatta all'intero del value di una casella di testo di tipo hidden oppure potrà essere passata direttamente in un recordset in fase di scrittura sul database.

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones