Encrypt password:
Private Shared Function EncryptPassword(cadenaConexion As String, usuario As String,
contraseña As String) As String
Dim parUsuario As New SqlParameter("@usuario", usuario)
Dim consulta As String = "DECLARE @FraseSuperSegura nvarchar(128);
SET @FraseSuperSegura= N'Ejemplo de frase super segura';
UPDATE Usuarios SET
Contrasena_EncriptadaPorFraseSegura = EncriptarPorFraseSegura(
@FraseSuperSegura , Contrasena, 1, CONVERT(
varbinary, usuario)) WHERE usuario = @usuario;"
Dim objDS As DataSet = SqlHelper.ExecuteDataset(cadenaConexion,
CommandType.Text, consulta, parUsuario)
End Function
Encrypted Password:
0x010000008D2ECCEE535FC014603EDE815ED641278E6D9CFEC20F929149A6B5EC05B8EEEC74C658D08B79D9148515952C76D37D78
Decrypt password:
Private Shared Function DecryptPassword(CadenaConexion As String, Usuario As String,
Contraseña As String) As String
Dim contraseñaDecrypted As String
Dim parUsuario As New SqlParameter("@usuario", Usuario)
Dim consulta As String = "DECLARE @FraseSuperSegura varchar(128);
SET @FraseSuperSegura = N'Ejemplo de frase super segura';
SELECT usuario, Contrasena_EncriptadaPorFraseSegura,
CONVERT(varchar, DesencriptarPorFraseSegura(@FraseSuperSegura ,
Contrasena_EncriptadaPorFraseSegura, 1, CONVERT(
varbinary, usuario))) AS 'Contraseña' FROM Usuarios
WHERE usuario = @usuario"
Dim objDS As DataSet = SqlHelper.ExecuteDataset(
CadenaConexion, CommandType.Text, consulta, parUsuario)
'Compruebo si la contraseña desencriptada es la misma que la introducida por el usuario'
If (Contraseña.Equals(objDS.Tables(0).Rows(0).Item(2).ToString())) Then
contraseñaDecrypted = objDS.Tables(0).Rows(0).Item(2).ToString()
'Sino, al valor que devuelvo (contraseñaDecrypted) le pongo 1 para controlar el error'
ElseIf (Usuario.Equals(objDS.Tables(0).Rows(0).Item(0).ToString())) Then
contraseñaDecrypted = "1"
End If
Return contraseñaDecrypted
End Function
User: Test1234
Contrasena_EncriptadaPorFraseSegura:
0x010000008D2ECCEE535FC014603EDE815ED641278E6D9CFEC20F929149A6B5EC05B8EEEC74C658D08B79D9148515952C76D37D78
Password: Test1234 +