Quando si crittografa una password sul Web o non in linea, è solitamente necessario utilizzare la funzione di hashing MD5 che consente di crittografare le password e corrisponde all'hash con input fornito da un utente che tenta l'accesso. Un hash fondamentalmente rappresenta un'unità di dati di dimensione variabile, convertiti in un importo fisso di caratteri in una sequenza. Al fine di realizzare questo processo, è necessario inserire un'utility MD5 nella stessa directory come file VBS quindi lo script può eseguire l'utilità e generare un valore hash MD5 da esso.
Istruzioni
1
Andare sul sito FourmiLab e scaricare il file "ZIP" per l'utilità della riga di comando MD5. Aprire il file Zip da dove hai scaricato ed estrarre il contenuto nella directory del file VBS che si desidera crittografare con.
2
Aprire il tuo file VBS in un editor di codice.
3
Incollare il seguente codice nello script:
Public Function MD5Hash(sFileName)
' Questo script è fornito sotto la licenza Creative Commons si trova
' a http://creativecommons.org/licenses/by-nc/2.5/. Essa non può
' essere utilizzato per scopi commerciali con fuori l'espresso consenso scritto
' di NateRice.com
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Dim oMD5CmdShell, oMD5CmdFSO, sTemp, sTempFile, fMD5CmdFile, sPath
Dim fResultsFile, sResults
Set oMD5CmdShell = CreateObject
Impostare oMD5CmdFSO = CreateObject("Scripting.FileSystemObject")
sTemp = oMD5CmdShell.ExpandEnvironmentStrings("%TEMP%")
sTempFile = sTemp & "\" & oMD5CmdFSO.GetTempName
'---Verificare l'esistenza di File di Input--
Se non oMD5CmdFSO.FileExists(sFileName) poi
MD5Hash = "Failed: Invalid Input File."
Altro
Set fMD5CmdFile = oMD5CmdFSO.GetFile(sFileName)
sPath = fMD5CmdFile.ShortPath
sFileName = sPath
Set fMD5CmdFile = Nothing
End If
'--------------------------------------
oMD5CmdShell.Run "% comspec % /c md5.exe - n" & sFileName & _
">" & sTempFile, 0, True
Impostare fResultsFile = _
oMD5CmdFSO.OpenTextFile (sTempFile, ForReading, FailIfNotExist, OpenAsDefault)
sResults = fResultsFile.ReadAll
sResults = trim (sostituire (sResults, vbCRLF,""))
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
Se len(sResults) = 32 e IsHex(sResults) poi
MD5Hash = sResults
Altro
MD5Hash = "Failed."
End If
Impostare oMD5CmdShell = Nothing
Impostare oMD5CmdFSO = Nothing
End Function
Privato funzione IsHex(sHexCheck)
' Questo script è fornito sotto la licenza Creative Commons si trova
' a http://creativecommons.org/licenses/by-nc/2.5/. Essa non può
' essere utilizzato per scopi commerciali con fuori l'espresso consenso scritto
' di NateRice.com
Dim sX, bCharCheck, sHexValue, sHexValues, aHexValues
sHexCheck = UCase(sHexCheck)
sHexValues = "0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F"
aHexValues = Split (sHexValues, ",")
Per sX = 1 To Len(sHexCheck)
bCharCheck = False
For Each sHexValue In aHexValues
If UCase(Mid(sHexCheck,sX,1)) = sHexValue Then
bCharCheck = True
Exit For
End If
Next
If bCharCheck <> True Then
IsHex = False
Exit Function
End If
Successivo
IsHex = True
End Function
4
Scorri fino all'area del codice che si desidera crittografare le password. Questo potrebbe apparire dopo che l'utente dell'applicazione fornisce input per quanto riguarda il nome utente e la password. Si può anche utilizzare una parte casuale del codice VBS solo per testare la funzione. Digitare il comando seguente: Dim strHash As String = MD5Hash("C:\password.ini"). Questo immediatamente rende un hash del file di password e mantiene l'hash all'interno di un valore denominato "strHash." È possibile modificare questo per la vostra preferenza. Sostituire "C:\password.ini" con il percorso del file delle password.