Al cifrar una contraseña en la red o fuera de línea , por lo general, debe utilizar la función hash MD5 que permite encriptar claves y combinar el hash con una entrada determinada de un usuario que intenta entrar A Hash básicamente representa una unidad de datos de tamaño variable convertidos a una cantidad fija de caracteres en una secuencia . Para llevar a cabo este proceso , se debe colocar una utilidad MD5 en el mismo directorio que el archivo VBS para la secuencia de comandos puede ejecutar la utilidad y generar un valor hash MD5 de ella. Instrucciones
1
Ir a la página web Fourmilab y descargar el archivo "ZIP " para la utilidad de línea de comandos MD5 . Abra el archivo zip de donde has descargado y extraiga el contenido en el directorio del archivo VBS desea cifrar con .
2
Abra el archivo VBS en un editor de código.
< Br > página 3
Pega el siguiente código en tu script:
Public Function MD5Hash ( sFileName )
' Este script se ofrece bajo la licencia Creative Commons situada
< p > ' en http://creativecommons.org/licenses/by-nc/2.5/. Es posible que no
'sea utilizado con fines comerciales sin el consentimiento expreso por escrito
' de NateRice.com
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
oMD5CmdShell Dim , oMD5CmdFSO , sTemp , sTempFile , fMD5CmdFile , sPath
fResultsFile Dim , sResults
Set oMD5CmdShell = CreateObject ( " WScript.Shell " )
Set oMD5CmdFSO = CreateObject ( " Scripting.FileSystemObject ")
sTemp = oMD5CmdShell.ExpandEnvironmentStrings ( "% TEMP %")
sTempFile = sTemp & " \\ " & oMD5CmdFSO.GetTempName
' ------ Verificar archivos de entrada Existance -----
oMD5CmdFSO.FileExists ( sFileName ) Entonces
Si No
MD5Hash = "Error : . archivo de entrada no válido"
demás
Set fMD5CmdFile = oMD5CmdFSO.GetFile ( sFileName )
sPath = fMD5CmdFile.ShortPath
< p> sFileName = sPath
fMD5CmdFile Set = Nothing
End If
' -------------------- ------------------
oMD5CmdShell.Run
"% comspec % /c md5.exe -n" y sFileName & _
" > "& sTempFile , 0 , Verdadero
Set fResultsFile = _
oMD5CmdFSO.OpenTextFile ( sTempFile , ForReading , FailIfNotExist , OpenAsDefault )
sResults = fResultsFile.ReadAll < br >
sResults = trim ( Replace ( sResults , vbCrLf , "" ))
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
Si len ( sResults ) = 32 Y IsHex ( sResults ) Entonces
MD5Hash = sResults
demás
MD5Hash = "Error ".
End If
Set oMD5CmdShell = Nothing
oMD5CmdFSO Set = Nothing End Function
privado Función IsHex ( sHexCheck )
' Este script se ofrece bajo la licencia Creative Commons situada
' en http://creativecommons.org/licenses/by-nc/2.5/. Es posible que no
'sea utilizado con fines comerciales sin el consentimiento expreso por escrito
' de 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 , ", ")
Para sX = 1 To Len ( sHexCheck )
bCharCheck = False
For Each sHexValue En aHexValues
Si UCase ( Mid ( sHexCheck , SX, 1 )) = sHexValue Entonces
bCharCheck = True
Salir a la Venta
End If < br >
Siguiente
Si bCharCheck < > entonces verdad
IsHex = False
Exit Función
End If
Siguiente
IsHex = True End Function
4
Desplácese hasta el área en su código que desea encriptar las contraseñas. Esto podría parecer después de que el usuario de la aplicación proporciona información sobre el nombre de usuario y contraseña. Usted puede incluso utilizar una parte aleatoria del código VBS sólo para probar la función. Escriba lo siguiente: strHash As String = MD5Hash ("C: \\ password.ini ") . Esto inmediatamente hace un hash del archivo de contraseñas y guarda el hash en un valor llamado " strHash . " Usted puede cambiar esto a su preferencia. Reemplazar " C: \\ password.ini " . Con la ruta del archivo de contraseñas