“Conocimientos Programación>Visual Basics Programación

Cómo cifrar una contraseña en VBS Script

2015/1/2
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.

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

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 ​​

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

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

Visual Basics Programación
Cómo encontrar palabras en una cadena en Visual Basic
Cómo utilizar ListView con una casilla en VBA
Cómo acceder a los datos Analizar
Cómo insertar un registro en la base de datos VBA
Cómo combinar imágenes de dos mapas de bits en VB.Net
¿Cómo puedo crear AUTOINCREMENT campos en Visual Basic para el Acceso
Cómo calcular el total de la columna de DataGrid
Cómo pasar una colección de una función en VBA
Conocimientos Informáticos © http://www.ordenador.online