Quando si crittografa una password sul Web o offline, è di solito necessario utilizzare la funzione di hashing MD5 che permette di cifrare le chiavi e corrispondere l' hash con il contributo dato da un utente che tenta di accedere A hash rappresenta fondamentalmente una unità di dati di dimensione variabile convertiti ad una quantità fissa di caratteri in una sequenza . Al fine di realizzare questo processo , è necessario inserire una utility MD5 nella stessa directory del file VBS modo lo script può eseguire il programma di utilità e di generare un valore hash MD5 da esso. Istruzioni
1
Vai al sito Fourmilab e scaricare il file " ZIP" per l'utilità della riga di comando MD5 . Aprire il file zip da cui è stato scaricato ed estrarre il contenuto nella directory del file VBS che si desidera crittografare con .
2
Aprire il file VBS in un editor di codice .
< Br >
3
Incollare il seguente codice nel tuo script:
Public Function MD5Hash ( sFileName ) per
' Questo script è fornito sotto la licenza Creative Commons situato
< p > ' a http://creativecommons.org/licenses/by-nc/2.5/. Esso non può
'essere utilizzato a fini commerciali , con il consenso espresso scritto
' di NateRice.com
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Dim oMD5CmdShell , oMD5CmdFSO , sTemp , sTempFile , fMD5CmdFile , sPath
Dim fResultsFile , sResults
oMD5CmdShell = CreateObject ( " WScript.Shell " ) per
oMD5CmdFSO = CreateObject ( " Scripting.FileSystemObject " )
sTemp = oMD5CmdShell.ExpandEnvironmentStrings ( "% TEMP % " ) per
sTempFile = sTemp & " \\ " & oMD5CmdFSO.GetTempName
' ------ Verificare Input File Existance -----
Se Non oMD5CmdFSO.FileExists ( sFileName ) Poi
MD5Hash = " Failed : . file di input non valido"
Else
fMD5CmdFile = oMD5CmdFSO.GetFile ( sFileName ) per
sPath = fMD5CmdFile.ShortPath
< p > sFileName = sPath
fMD5CmdFile = Nothing End If
' -------------------- ------------------
oMD5CmdShell.Run "% comspec % /c md5.exe - n" e sFileName & _
" > "& sTempFile , 0 , vero
fResultsFile = _
oMD5CmdFSO.OpenTextFile ( sTempFile , ForReading , FailIfNotExist , OpenAsDefault )
sResults = fResultsFile.ReadAll < br
sResults > = trim ( Replace ( sResults , vbCrLf , "") ) per
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
Se len ( sResults ) = 32 e IsHex ( sResults ) Poi
MD5Hash = sResults
Else
MD5Hash = "Impossibile ".
End If
oMD5CmdShell = Nothing Set
oMD5CmdFSO = Nothing End Function
private Function IsHex ( sHexCheck ) per
' Questo script è fornito sotto la licenza Creative Commons situato
' a http://creativecommons.org/licenses/by-nc/2.5/. Esso non può
'essere utilizzato a fini commerciali , con il consenso espresso scritto
' di NateRice.com
Dim SX, bCharCheck , sHexValue , sHexValues , aHexValues < br >
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 ) per
bCharCheck = False
Ogni sHexValue in aHexValues
Se UCase ( Mid ( sHexCheck , SX , 1) ) = sHexValue Poi
bCharCheck = True
Exit For
End If < br >
Avanti
bCharCheck < > True Then
IsHex = False
Exit Function End If
Avanti
IsHex = True
End Function
4
Scorrere verso il basso per l'area nel codice che si desidera crittografare le password . Questo potrebbe apparire dopo che l'utente dell'applicazione fornisce l'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 quanto segue : Dim strHash As String = MD5Hash ( " C : \\ password.ini " ) . Questo rende immediatamente un hash del file di password e mantiene l'hash in un valore chiamato " strHash . " Si può cambiare questo per la vostra preferenza . Sostituire " C : \\ password.ini ." Con il percorso del file delle password