Hvordan kryptere et passord i VBS Script
Når du krypterer et passord på nettet eller offline, du vanligvis må bruke MD5 hashing funksjon som lar deg kryptere passord og matche hash med innspill gitt fra en bruker prøver å logge deg inn. En hash utgangspunktet representerer en dataenhet med variabel størrelse konverteres til et fast antall tegn i en sekvens. For å gjennomføre denne prosessen, må du plassere en MD5-verktøyet i samme katalog som VBS filen slik skriptet kan kjøre verktøyet og generere en MD5 hash verdi fra det.
Bruksanvisning
1 Gå til FourmiLab hjemmeside og laste ned "ZIP" -filen for MD5 kommandolinjeverktøy. Åpne zip-filen fra der du lastet det ned og pakke ut innholdet i mappen til VBS filen du vil kryptere med.
2 Åpne VBS-filen i en kode editor.
3 Lim inn følgende kode inn i skriptet:
Public Function MD5Hash (sFileName)
'Dette skriptet er gitt under Creative Commons-lisensen ligger
'På http://creativecommons.org/licenses/by-nc/2.5/. Det kan ikke
'Brukes til kommersielle formål uten uttrykkelig skriftlig samtykke
"Av NateRice.com
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Dim oMD5CmdShell, oMD5CmdFSO, STEMP, sTempFile, fMD5CmdFile, Späth
Dim fResultsFile, sResults
Sett oMD5CmdShell = Create ( "WScript.Shell")
Sett oMD5CmdFSO = Create ( "Scripting.FileSystemObject")
STEMP = oMD5CmdShell.ExpandEnvironmentStrings ( "% TEMP%")
sTempFile = STEMP & "\" & oMD5CmdFSO.GetTempName
'------ Kontroller Input File Existance -----
Hvis ikke oMD5CmdFSO.FileExists (sFileName) og deretter
MD5Hash = "Failed: Invalid Input File."
Ellers
Set fMD5CmdFile = oMD5CmdFSO.GetFile(sFileName)
Späth = fMD5CmdFile.ShortPath
sFileName = Späth
Sett fMD5CmdFile = Nothing
Slutt om
'--------------------------------------
oMD5CmdShell.Run «% comspec% / c md5.exe -n" & sFileName & _
">" & STempFile, 0, Sann
Sett fResultsFile = _
oMD5CmdFSO.OpenTextFile (sTempFile, ForReading, FailIfNotExist, OpenAsDefault)
sResults = fResultsFile.ReadAll
sResults = trim (Erstatt (sResults, vbCRLF, ""))
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
Hvis Len (sResults) = 32 og IsHex (sResults) Deretter
MD5Hash = sResults
Ellers
MD5Hash = "Failed."
Slutt om
Sett oMD5CmdShell = Nothing
Sett oMD5CmdFSO = Nothing
End Function
Private Function IsHex (sHexCheck)
'Dette skriptet er gitt under Creative Commons-lisensen ligger
'På http://creativecommons.org/licenses/by-nc/2.5/. Det kan ikke
'Brukes til kommersielle formål uten uttrykkelig skriftlig samtykke
"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, ",")
For sX = 1 Til Len (sHexCheck)
bCharCheck = False
For hver sHexValue I aHexValues
Hvis UCase (Mid (sHexCheck, SX, 1)) = sHexValue Deretter
bCharCheck = True
Exit For
Slutt om
neste
Hvis bCharCheck & lt;> True Deretter
IsHex = False
Exit Function
Slutt om
neste
IsHex = True
End Function
4 Rull ned til området i koden din som du ønsker å kryptere passordene dine. Dette kan synes etter at brukeren av programmet gir innspill om brukernavn og passord. Du kan også bruke en tilfeldig del av VBS kode bare for å teste funksjonen. Skriv inn følgende: Dim strHash As String = MD5Hash ( "C: \ password.ini"). Dette gjør umiddelbart en hash av passordet filen og holder hash inne en verdi som kalles "strHash." Du kan endre dette til dine preferanser. Erstatt "C: \ password.ini" med banen til passordfilen.