Tecnología

Inicio

Cómo cifrar una contraseña en VBS script

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.