Hola...
Necesito encriptar un password y guardarlo en una bs y luego desencriptarlo...
Como hago para trabajar con estos?
Alguna idea?
Saludos!
| ||||
Respuesta: Encriptar y desencriptar pass con c# Hola encontre una forma de hacerlo... con una funcion hash Como C# trae la funcion hash por defecto, es muy facil desencriptar el pass... Alguien sabe otra? Saludos!
__________________ La verdadera sabiduría está en reconocer la propia ignorancia. |
| ||||
Respuesta: Encriptar y desencriptar pass con c# Ojo calcular un Hash no es encriptar, el hash por definicion no tiene vuelta atras una vez que calculas el valor hash de entrada no hay forma de hacer lo opuesto. Que no es lo mismo que comparar un hash almacenado con un hash calculado que hacen las mayorias de los scripts y codigos en el mundo. PD: Es como la 10 vez que discuto algo asi , pero es bueno saberlo ------------------ Adicionalmente En todo caso necesitas utilizar el namespace System.Security.Cryptography y usar uno de los tantos CryptoProviders y usar un CryptoStream para poder realizar un proceso encripta/desencripta |
| ||||
Respuesta: Encriptar y desencriptar pass con c# Muchas Gracias por la aclaración. Probare con el System.Security.Cryptography para hacer la encriptacion mas segura... Saludos!
__________________ La verdadera sabiduría está en reconocer la propia ignorancia. |
| |||
Respuesta: Encriptar y desencriptar pass con c# Mira,aca tenes una función completa para encriptar y desencriptar. La idea es que generar un string que usa como "semilla" para encriptar en base a ese string y luego poder descencriptar: http://www.obviex.com/samples/Code.a...tion&Lang=C%23 Ya que estamos como se hace entonces eso del hash? Osea, como sería encriptar una cadena y luego una vez encryptada compararla?
__________________ PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!! |
| ||||
Respuesta: Encriptar y desencriptar pass con c# Calculas el hash de no se Primera vez el usuario se registra y guarda el hash de una contrasenia Original Hash Gato123 = BAD12327362986387236827361ABCD cuando el usuario quiera hacer login tu deberas hacer el mismo calculo de hash y comparar tu resultado contra el registrado Original Hash en BD Hash al hacer login Gato345 BAD12327362986387236827361ABCD BAD123ABCD863457236827361ABCD como no hay match no es el mismo password Gato123 BAD12327362986387236827361ABCD BAD12327362986387236827361ABCD si fuera el mismo que registro originalmente entonces valida su credencial. PD: Solo hacemos incomprensible al ojo humano el valor guardado, pero al no ser reversible no se le puede llamara encriptacion. PD: Ejemplo ilustrativo |
| |||
Respuesta: Encriptar y desencriptar pass con c# Cita: Amigo:aca te dejo 2 metodos para encriptar y otro para desencriptar estan en visual basic .net, si lo necesitas a C# solo cambiale la sintaxis ojalas te sirva saludos Function Encripta(ByVal Texto As String) As String Dim Clave As String, i As Integer, Pass2 As String Dim CAR As String, Codigo As String Clave = "%ü&/@#$A" Pass2 = "" For i = 1 To Len(Texto) CAR = Mid(Texto, i, 1) Codigo = Mid(Clave, ((i - 1) Mod Len(Clave)) + 1, 1) Pass2 = Pass2 & Microsoft.VisualBasic.Strings.Right("0" & Hex(Asc(Codigo) Xor Asc(CAR)), 2) Next i Encripta = Pass2 End Function Function DesEncripta(ByVal Texto As String) As String Dim Clave As String, i As Integer, Pass2 As String Dim CAR As String, Codigo As String Dim j As Integer Clave = "%ü&/@#$A" Pass2 = "" j = 1 For i = 1 To Len(Texto) Step 2 CAR = Mid(Texto, i, 2) Codigo = Mid(Clave, ((j - 1) Mod Len(Clave)) + 1, 1) Pass2 = Pass2 & Chr(Asc(Codigo) Xor Val("&h" + CAR)) j = j + 1 Next i DesEncripta = Pass2 End Function |
| |||
Respuesta: Encriptar y desencriptar pass con c# Cita: Pues en C# lo veo dificil por que la funcion Val("&h" + CAR)
Iniciado por DesarrolladorNet Amigo: aca te dejo 2 metodos para encriptar y otro para desencriptar estan en visual basic .net, si lo necesitas a C# solo cambiale la sintaxis ojalas te sirva saludos Function Encripta(ByVal Texto As String) As String Dim Clave As String, i As Integer, Pass2 As String Dim CAR As String, Codigo As String Clave = "%ü&/@#$A" Pass2 = "" For i = 1 To Len(Texto) CAR = Mid(Texto, i, 1) Codigo = Mid(Clave, ((i - 1) Mod Len(Clave)) + 1, 1) Pass2 = Pass2 & Microsoft.VisualBasic.Strings.Right("0" & Hex(Asc(Codigo) Xor Asc(CAR)), 2) Next i Encripta = Pass2 End Function Function DesEncripta(ByVal Texto As String) As String Dim Clave As String, i As Integer, Pass2 As String Dim CAR As String, Codigo As String Dim j As Integer Clave = "%ü&/@#$A" Pass2 = "" j = 1 For i = 1 To Len(Texto) Step 2 CAR = Mid(Texto, i, 2) Codigo = Mid(Clave, ((j - 1) Mod Len(Clave)) + 1, 1) Pass2 = Pass2 & Chr(Asc(Codigo) Xor Val("&h" + CAR)) j = j + 1 Next i DesEncripta = Pass2 End Function si la reemplazamos por int.parse("&h" + CAR) nos dara un error que la cadena no tiene el formato correcto. y realmente no he encontrado un equivalente que aga esactamente lo mismo que Val() para C#. |