Encriptar y Descencriptarlo..

27/04/2005 - 21:51 por José Luis | Informe spam
Hola Grupo.
Espero que me puedan ayudar lo que quiero es encriptar un Password y
guardalo en la bd' y despues poder Descencriptarlo.. para compararlo que se
correcto cuando el usuario quiera entrar al sistema.

Donde encuentro informacion, no se si existan funcines o aglo predefinido en
vb.net que me pueda ayudar o debo de realizar un algoritmo de encriptacion.

Es todo, gracias por su apoyo...

Preguntas similare

Leer las respuestas

#1 Carlos Gómez
27/04/2005 - 22:40 | Informe spam
Es mejor que uses un hash: en la base de datos no se deben guardar los
password en texto claro.
Bueno, para cifrar hash:

Private Function Hash_SHA1(ByVal TextoClaro As String) As String
'Almacenar la cadena original en una matriz de bytes
Dim TextoHash As Byte()
Dim CodificacionUnicode As New System.Text.UnicodeEncoding
Dim Texto() As Byte = CodificacionUnicode.GetBytes(TextoClaro)
Dim sha1 As New System.Security.Cryptography.SHA1CryptoServiceProvider
'Crear el hash
TextoHash = sha1.ComputeHash(Texto)
Hash_SHA1 = Convert.ToBase64String(TextoHash)
End Function

Ahora, guardas el hash en la base de datos, el usuario tras introducir su
password, lo cifras con hash, y comparas el resultado con el guardado en la
base de datos.
Así evitas problemas de seguridad.
Fijate que ocurre si en el textbox donde meten el password escriben algo así
como:
tururú' OR '1=1
la consulta sql se transforma en:
SELECT * FROM Usuarios WHERE Password=' & TextBoxPassword.Text & "'" pasa a
ser
SELECT * FROM Usuarios WHERE Password='tururú' OR '1=1'

y se han colado en el sistema tan ricamente.





"José Luis" escribió en el mensaje
news:
Hola Grupo.
Espero que me puedan ayudar lo que quiero es encriptar un Password y
guardalo en la bd' y despues poder Descencriptarlo.. para compararlo que
se
correcto cuando el usuario quiera entrar al sistema.

Donde encuentro informacion, no se si existan funcines o aglo predefinido
en
vb.net que me pueda ayudar o debo de realizar un algoritmo de
encriptacion.

Es todo, gracias por su apoyo...
Respuesta Responder a este mensaje
#2 Carlos Gómez
27/04/2005 - 22:42 | Informe spam
ah, se me olvidaba. Aquí tienes algo sobre cifrado:

http://support.microsoft.com/defaul...mp;sd=msdn

"José Luis" escribió en el mensaje
news:
Hola Grupo.
Espero que me puedan ayudar lo que quiero es encriptar un Password y
guardalo en la bd' y despues poder Descencriptarlo.. para compararlo que
se
correcto cuando el usuario quiera entrar al sistema.

Donde encuentro informacion, no se si existan funcines o aglo predefinido
en
vb.net que me pueda ayudar o debo de realizar un algoritmo de
encriptacion.

Es todo, gracias por su apoyo...
Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
28/04/2005 - 01:22 | Informe spam
A la funcion le falta algo importante si se va a usar para hashear una
contraseña y es que se debe agregar un valor salt de forma que dos usuarios
con la misma contraseña resulten en hashes distintos.

Fijate que ocurre si en el textbox donde meten el password escriben algo así
como:
tururú' OR '1=1
la consulta sql se transforma en:
SELECT * FROM Usuarios WHERE Password=' & TextBoxPassword.Text & "'" pasa a
ser
SELECT * FROM Usuarios WHERE Password='tururú' OR '1=1'



¿¡que!? Guardar las contraseñas como hash no tiene nada que ver con la
inyeccion de codigo sql. La inyeccion de codigo SQL la solucionas usando
parametros en las consultas.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida