Generování náhodného hesla v ASP

Potřeboval jsem pro jeden projekt, který píšu v klasickém ASP (tedy nikoliv ASP.NET) mít možnost generovat náhodné heslo. Proto jsem si pro tento účel napsal následující funkci.

Je to velice jednoduchá funkce a píšu to sem jen proto, abych na to nezapomněl a pro to, že by se to třeba mohlo někomu hodit.

Zde je kód zmíněné funkce:

'*******************************************************************************
'Funkce pro vygenerování náhodného hesla zadané délky
'*******************************************************************************
Function RandomPassword(lLenght)
'mnozina znaku, ze kterych budu skladat heslo
'zamerne je vynechano velke pismeno O, nula a pismena Z a Y (mala i velka)
Const sPosChars = "abcdefghijklmnopqrstuvwxABCDEFGHIJKLMNPQRSTUVWX123456789"
'definice promennych
Dim lRnd 'nahodne cislo
Dim lPrev 'predchozi nahodne cislo
Dim sRand 'pomocny retezec

  'inicializace nahodnych cisel
  Randomize
  'default funkce
  RandomPassword = ""
  'osetreni delky hesla (default je 6)
  If (lLenght <= 0) Then lLenght = 6

  'pomocna promenna
  sRand = ""
  lPrev = 0
  Do
    'vygeneruju nahodne cislo od 1 do delka moznych znaku
    Do
      'a delam to tak dlouho, dokud se nahodne cislo nelisi od predchoziho nahodneho cisla
      'pro pripad, ze by bylo vygenerovano stejne jako predchozi
      lRnd = CLng((Rnd * Len(sPosChars)) + 1)
    Loop Until (lRnd <> lPrev)
    'ulozim aktualni nahodne cislo do jine promenne
    lPrev = lRnd
    'priradim retezec z pole povolenych znaku do pomocneho retezce
    sRand = sRand & Mid(sPosChars, lRnd, 1)
  Loop Until (Len(sRand) = lLenght)
  'priradim hodnotu funkce
  RandomPassword = sRand
End Function

Přeskočit na obsah