När du krypterar ett lösenord på webben eller offline , du oftast måste använda MD5 hash -funktion som låter dig kryptera lösenord och matcha hash med indata ges från en användare försöker logga in A hash är i grunden en enhet av data av varierande storlek omvandlas till ett fast belopp av tecken i en sekvens . För att genomföra denna process , måste du placera en MD5 verktyg i samma katalog som din VBS-fil så att skriptet kan köra verktyget och generera en MD5- hash värde från det . Instruktioner
1
Gå till FourmiLab hemsida och ladda ner " ZIP " fil för MD5 kommandoradsverktyg . Öppna zip-filen från där du hämtade den och extrahera innehållet till katalogen av VBS -filen du vill kryptera med .
2
Öppna din VBS -fil i en kod redaktör .
Billiga 3
Klistra in följande kod i skriptet:
Public Function MD5Hash ( sFileName ) katalog
" Detta skript tillhandahålls under Creative Commons-licensen ligger
' at http://creativecommons.org/licenses/by-nc/2.5/. Det kanske inte
"användas för kommersiella ändamål med ut uttryckt skriftliga
medgivande
" av NateRice.com
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Dim oMD5CmdShell , oMD5CmdFSO , Stemp , sTempFile , fMD5CmdFile , Spath
Dim fResultsFile , sResults
Set oMD5CmdShell = CreateObject ( " WScript.Shell " ) katalog
Set oMD5CmdFSO = CreateObject ( " Scripting.FileSystemObject " ) katalog
Stemp = oMD5CmdShell.ExpandEnvironmentStrings ( " % TEMP % " ) katalog
sTempFile = Stemp & " \\ " & oMD5CmdFSO.GetTempName
' ------ Verifiera Input File existance -----
p Om inte oMD5CmdFSO.FileExists ( sFileName ) Sen
MD5Hash = " misslyckades: . Invalid Input File "
Else
Set fMD5CmdFile = oMD5CmdFSO.GetFile ( sFileName ) katalog
Spath = fMD5CmdFile.ShortPath
sFileName = Spath
Set fMD5CmdFile = Nothing
End If
" -------------------- ------------------
oMD5CmdShell.Run "% ComSpec % /c md5.exe - n" & sFileName & _
" > " & sTempFile , 0 , Sant
Set fResultsFile = _
oMD5CmdFSO.OpenTextFile ( sTempFile , ForReading , FailIfNotExist , OpenAsDefault ) katalog
sResults = fResultsFile.ReadAll
sResults = trim ( Ersätt ( sResults , vbCrLf , " " ) ) katalog
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
If Len ( sResults ) = 32 och IsHex ( sResults ) Sen
MD5Hash = sResults
Else
MD5Hash = " Failed ".
End If
Set oMD5CmdShell = Nothing
Set oMD5CmdFSO = Nothing
End Function
Private Function IsHex ( sHexCheck ) katalog
" Detta skript tillhandahålls under Creative belägen Commons-licensen
" på http://creativecommons.org/licenses/by-nc/2.5/. Det kanske inte
"användas för kommersiella ändamål med ut uttryckt skriftliga
medgivande
" av 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 , " , " ) katalog
för SX = 1 till Len ( sHexCheck ) katalog
bCharCheck = False
För varje sHexValue i aHexValues
p Om UCase ( Mid ( sHexCheck , sX, 1 ) ) = sHexValue Sedan
bCharCheck = Sant
Exit för iPhonen
End If
Nästa
p Om bCharCheck < > sant då
IsHex = False
Exit Function
End If
Nästa
IsHex = Sant
End Function
4
Bläddra ned till området i din kod som du vill kryptera dina lösenord . Detta kan visas efter att användaren av din ansökan ger input till användarnamn och lösenord . Du kan även använda en slumpmässig del av din VBS kod bara för att testa funktionen . Skriv följande : Dim strHash As String = MD5Hash ( " C : \\ password.ini " ) . Detta gör omedelbart en hash av lösenordet filen och håller hash inuti ett värde som kallas " strHash . " Du kan ändra detta till dina önskemål . Ersätt " C : \\ password.ini " . Med sökvägen till lösenordsfilen