Al cifrar una contraseña en la web o fuera de línea, por lo general, debe utilizar la función hash MD5 que le permite encriptar claves y coincide con el hash con la entrada dada de un usuario que intenta conectarse. Un hash representa básicamente una unidad de datos de la variable tamaño convertido 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 por lo que 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 descargue 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 de VBS en un editor de código.
3 Pegar el código siguiente en la secuencia de comandos:
Función pública MD5Hash (sFileName)
'Este script se ofrece bajo la licencia Creative Commons situada
"En http://creativecommons.org/licenses/by-nc/2.5/. No puede
'Será utilizado para fines comerciales sin el consentimiento por escrito
'De NateRice.com
Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Dim oMD5CmdShell, oMD5CmdFSO, sTemp, sTempFile, fMD5CmdFile, sPath
Dim fResultsFile, sResults
Establecer oMD5CmdShell = CreateObject ( "WScript.Shell")
Establecer oMD5CmdFSO = CreateObject ( "Scripting.FileSystemObject")
sTemp = oMD5CmdShell.ExpandEnvironmentStrings ( "% TEMP%")
sTempFile = sTemp & "\" & oMD5CmdFSO.GetTempName
'------ Compruebe entrada Existance Archivo -----
Si no es así oMD5CmdFSO.FileExists (sFileName), entonces
MD5Hash = "Failed: Invalid Input File."
Más
Set fMD5CmdFile = oMD5CmdFSO.GetFile(sFileName)
sPath = fMD5CmdFile.ShortPath
sFileName = sPath
Establecer fMD5CmdFile = Nada
Terminara si
'--------------------------------------
oMD5CmdShell.Run "% comspec% / c md5.exe -n" y sFileName & _
">" & STempFile, 0, True
Establecer fResultsFile = _
oMD5CmdFSO.OpenTextFile (sTempFile, ForReading, FailIfNotExist, OpenAsDefault)
sResults = fResultsFile.ReadAll
sResults = trim (Reemplazar (sResults, vbCRLF, ""))
fResultsFile.Close
oMD5CmdFSO.DeleteFile sTempFile
Si Len (sResults) = 32 Y IsHex (sResults) A continuación,
MD5Hash = sResults
Más
MD5Hash = "Failed."
Terminara si
Establecer oMD5CmdShell = Nada
Establecer oMD5CmdFSO = Nada
End Function
Función privada IsHex (sHexCheck)
'Este script se ofrece bajo la licencia Creative Commons situada
"En http://creativecommons.org/licenses/by-nc/2.5/. No puede
'Será utilizado para fines comerciales sin el consentimiento por escrito
'De 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 = Parcial (sHexValues ",")
Para Sx = 1 Para Len (sHexCheck)
bCharCheck = False
Para cada sHexValue En aHexValues
Si Ucase (Mid (sHexCheck, SX, 1)) = Entonces sHexValue
bCharCheck = True
Para Salir
Terminara si
Siguiente
Si bCharCheck & lt;> entonces verdad
IsHex = False
Función de salida
Terminara si
Siguiente
IsHex = True
End Function
4 Desplazarse hacia abajo a la zona en su código que le gustaría para cifrar las contraseñas. Esto podría parecer después de que el usuario de la aplicación proporciona la entrada desde 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: Dim strHash como secuencia = MD5Hash ( "C: \ password.ini"). Esto hace inmediatamente un hash del archivo de contraseña y mantiene el hash dentro de un valor llamado "strHash." Usted puede cambiar esto a su preferencia. Reemplazar "C: \ password.ini" por la ruta del archivo de contraseñas.