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.