2011-09-26 78 views

Respuesta

13

Usted puede descargar este guión clásico ASP/VBScript aquí que encripta una cadena a SHA-256, un estándar de la industria en un solo sentido función hash:

http://www.freevbcode.com/ShowCode.asp?ID=2565

mayoría de la gente no descifrar una contraseña una vez que ha sido encriptado La idea es almacenar una contraseña cifrada no reversible en su base de datos, lo que a su vez impide que un atacante lea las contraseñas si logra llegar a su base de datos. Cuando alguien ingresa una contraseña, encripta la entrada de los usuarios y la compara con la contraseña encriptada en el DB.

Pero hash solo no es lo suficientemente seguro. Debe agregar un valor SALT a la contraseña que desea hash, para que sea irrompible. La sal debe ser una contraseña aleatoria pero único que se agrega a la contraseña antes de hash, por ejemplo:

password = Request("password") 
salt = "2435uhu34hi34" 
myHashedPassword = SHA256_function(password&salt) 
+0

¡Gracias! ¡Esto me ayudó mucho! – janlindso

+0

Cabe señalar que este ejemplo utiliza [un pimiento, no una sal] (http://blog.ircmaxell.com/2012/04/properly-salting-passwords-case-against.html). –

0

he creado una DLL COM-interoperabilidad para esta tarea exacta - Clásico ASP contraseña hashing. Simplemente construya, registre el DLL y llámelo desde ASP. Esta es una versión de trabajo temprana que usa AES256, planeo agregar soporte de algoritmo adicional en el futuro.

https://github.com/kingdango/SaltedHashPassword

Se aceptan sugerencias!

Ejemplo de código ASP clásico

newPassword = "whatever-the-user-typed" 

set passwordGenerator = Server.createObject("Kingdango.SaltedHashPassword.PasswordHash") 
passwordGenerator.Password = newPassword 
newPasswordSaltedHash = passwordGenerator.GetHashedPassword() 
newPasswordSalt = passwordGenerator.Salt 
0

Buscando lo mismo. Todo este concepto de contraseñas hash me hizo darme cuenta de que algunos sitios web importantes también deben usar un método de descifrado. ¿De qué otra forma pueden enviar una contraseña perdida si no la conservan en texto claro o tienen un método para descifrarla?

Editar: Creo que encontré una respuesta here -database de nivel de columna de cifrado.

+2

Estoy buscando un hash unidireccional, pero en este caso, las probabilidades son que el sitio almacene la contraseña en texto sin formato. Quiero decir, dedican el tiempo y el esfuerzo para cifrar/descifrar la contraseña en la base de datos, pero luego la envían a la luz a través del canal de correo electrónico no cifrado. Sí, estoy pensando que los están almacenando en la base de datos sin cifrado. Debería hacerte sentir muy seguro. :) – Dave