Wenn Sie ein Kennwort für das Web oder offline zu verschlüsseln, müssen Sie normalerweise verwenden die MD5- Hash-Funktion , die Sie Passwörter zu verschlüsseln, und passen Sie die Hash mit einer Eingabe von einem Benutzer, der versucht eingeloggt A gegeben erlaubt Hash stellt im Grunde genommen eine Einheit von Daten variabler Größe umgerechnet auf eine feste Anzahl von Zeichen in einer Sequenz . Um diesen Prozess auszuführen , müssen Sie eine MD5 -Dienstprogramm im gleichen Verzeichnis wie die VBS -Datei zu platzieren so das Skript das Dienstprogramm ausführen können und erzeugen ein MD5 -Hash-Wert daraus . Anleitung
1
der Fourmilab Website und laden Sie die "zip" -Datei für den MD5 -Befehlszeilen-Dienstprogramm . Öffnen Sie die Zip-Datei aus, wo Sie es heruntergeladen und extrahieren Sie den Inhalt in das Verzeichnis des VBS -Datei , die Sie mit zu verschlüsseln.
2
Öffnen Sie Ihre VBS -Datei in einem Code-Editor.
< Br > Seite 3
Fügen Sie den folgenden Code in Ihr Skript :
Public Function md5hash ( sFileName )
' Dieses Skript ist unter der Creative Commons-Lizenz befindet
< p bereitgestellt > ' bei http://creativecommons.org/licenses/by-nc/2.5/. Es kann nicht
' zu kommerziellen Zwecken mit benutzt werden heraus die ausdrückliche schriftliche Zustimmung
' von 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 " )
Set oMD5CmdFSO = CreateObject (" Scripting.FileSystemObject " )
sTemp = oMD5CmdShell.ExpandEnvironmentStrings ("% TEMP% " )
sTempFile = sTemp & "\\" & oMD5CmdFSO.GetTempName
' ------ Prüfen Input File Existance -----
If Not oMD5CmdFSO.FileExists ( sFileName ) Dann
md5hash = " fehlgeschlagen: . Invalid Input File"
Else
fMD5CmdFile = oMD5CmdFSO.GetFile ( sFileName )
sPath = fMD5CmdFile.ShortPath
Set < p> = sFileName sPath
Set fMD5CmdFile = Nothing End If
' -------------------- ------------------
oMD5CmdShell.Run "% comspec % /c md5.exe -n " & sFileName & _
" > " & sTempFile , 0, False
Set fResultsFile = _
oMD5CmdFSO.OpenTextFile ( sTempFile , ForReading , FailIfNotExist , OpenAsDefault )
sResults = fResultsFile.ReadAll
sResults = trim ( Replace ( sResults , vbCRLF , "") )
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
Wenn len ( sResults ) = 32 und IsHex ( sResults ) Dann
md5hash = sResults
Else
md5hash = "Fehler . "
End If
Set oMD5CmdShell = Nothing Set
oMD5CmdFSO = Nothing End Function
private Function IsHex ( sHexCheck )
' Dieses Skript ist unter der Creative Commons-Lizenz zur Verfügung gestellt entfernt
'at http://creativecommons.org/licenses/by-nc/2.5/. Es kann nicht
' zu kommerziellen Zwecken mit benutzt werden heraus die ausdrückliche schriftliche Zustimmung
' von 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 , ", ")
für SX = 1 To Len ( sHexCheck )
bCharCheck = False For Each
sHexValue In aHexValues
Wenn UCase ( Mid ( sHexCheck , SX, 1) ) = sHexValue Dann
bCharCheck = True
Exit For End If
Weiter
Wenn bCharCheck <> True Then
IsHex = False
Exit Function End If
Weiter
IsHex = True End Function
4
Bildlauf nach unten zum Bereich in Ihrem Code, den Sie gerne Ihre Passwörter verschlüsseln würde . Dies könnte erscheinen , nachdem der Benutzer Ihrer Anwendung bietet Eingaben hinsichtlich den Benutzernamen und das Kennwort ein. Sie können sogar mit einem zufälligen Teil der VBS -Code , nur um die Funktion zu testen . Geben Sie die folgende : Dim strHash As String = md5hash ( "C: \\ password.ini " ) . Dies macht sofort einen Hash der Datei vergessen und hält den Hash in einem Wert namens " strHash . " Sie können diese nach Ihren Wünschen verändern . Ersetzen Sie " C: \\ password.ini " . Durch den Pfad der Passwort-Datei