none
One Time Password RRS feed

  • Domanda

  • Ho messo in pratica questo script VBScript per generare una One Time Password per scopi di sicurezza. Mi chiedevo se esiste una campione di caratteri alfanumerici standard da cui trarre una one time password: sarebbe la stringa Chars che è però una costante.

    Lo script qui sotto.

    Angelo

    ' Generatore di Password one time
    ' Autore - Angelo A.
    ' Caratteri speciali - .,!#_-%&?
    ' Caratteri numerici - 0123456789
    ' Caratteri alfabetici - abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    ' La lunghezza della password è impostata a minimo 8 caratteri.
    ' VBSSelfDestruct - Author : Denis St-Pierre
    ' Function : Make a script delete itself
    
    
    Dim intMax, iLoop, k, intValue, strChar, strName, intNum
    
    ' Specify the alphabet of characters to use.
    Const Chars = ".,!#_-%&?abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    
    ' Specify length of names.
    intMax = 8
    
    ' Specify number of names to generate.
    intNum = 1
    
    ' Data di oggi
    Dim dteWait
    
    'Self Destruct Routine
    Set WshShell = CreateObject("WScript.Shell")
    strCurDir    = WshShell.CurrentDirectory
    
    Set objFSO = CreateObject( "Scripting.FileSystemObject" )
    scriptdir = objFSO.GetParentFolderName(WScript.ScriptFullName)
    'Wscript.Echo strCurDir
    'Wscript.Echo scriptdir
    
    Randomize()
    For iLoop = 1 To intNum
        strName = ""
        For k = 1 To intMax
            ' Retrieve random digit between 0 and 25 (26 possible characters).
            intValue = Fix(26 * Rnd())
            ' Convert to character in allowed alphabet.
            strChar = Mid(Chars, intValue + 1, 1)
            If k = 1 Then
            	strChar = UCase(Left(strChar,1))
            End If
            ' Build the name.
            strName = strName & strChar
        Next
    
    ' Number of Integers can be specified here
    
    
        Wscript.Echo "Questa password si autodistruggerà in 10 secondi : " & strName & Int( ( 7789 - 7 + 889 ) * Rnd + 999 )
    	
    	dteWait = DateAdd("s", 10, Now()) 'wait 10 seconds
    	Do Until (Now() > dteWait)
    	Loop
    	
    	objFSO.DeleteFile strCurDir & "\Mission_password.vbs"
    	WScript.Quit
    Next
    

    martedì 10 novembre 2020 11:31

Risposte

  • "Mi chiedevo se esiste una campione di caratteri alfanumerici standard da cui trarre una one time password"

    Ti rispondo così: la costante chars deve corrispondere al più piccolo sottoinsieme di caratteri comune alle tastiere dei tuoi clienti, perchè devono essere in grado di digitarle!

    Se metti caratteri come []{}, ancora ci siamo (forse), ma altri, come  ì,ò,ç,à,ù,£, dubito che un utente americano (us keyboard) possa digitarli... e poi volendo, c'è anche unicode e le tastiere in cirillico,ebraico...


    Gastone Canali >


    Se alcuni post rispondono al tuo quesito, ricorda di contrassegnarli come risposta e non dimenticare anche i post utili. GRAZIE! Dai un occhio ai link Click Here and Here Leaderboard Here



    martedì 10 novembre 2020 12:19