Muy buenas
Estimados tengo inconvenientes al momento de ecriptar y desencriptar las contraseñas:
Código Fuente:
public string Encripart(string sTexto, string sLlave)
{
int i;
int C;
string strBuff = "";
sLlave= sLlave.ToUpper();
if (sLlave.Length > 0)
{
for (i = 0; i <= sTexto.Length - 1; i++)
{
C = Strings.AscW(sTexto.Substring(i, 1));
C = C + Strings.AscW(sLlave.Substring(i % sLlave.Length + 1, 1));
strBuff = strBuff + Convert.ToChar(C & 0xFF);
}
}
else
strBuff = sTexto;
return strBuff;
}
public string DecryptText(string sTexto, string sLlave)
{
int i;
int C;
string strBuff = "";
sLlave= sLlave.ToUpper();
if (sLlave.Length > 0)
{
for (i = 0; i <= sTexto.Length - 1; i++)
{
C = Strings.AscW(sTexto.Substring(i, 1));
C = C - Strings.AscW(sLlave.Substring(i % sLlave.Length + 1, 1));
strBuff = strBuff + Strings.ChrW(C & 0xFF);
}
}
else
strBuff = sTexto;
return strBuff;
}
Explicación:
El problema es el siguiente; cuando se encripta la cantraseña al final de la cadena aparece el siguiente caracter:
\u0081 entonces al quere compara con la contraseña encriptada en la base de datos no coincide; lo curioso es que esto solo ocurre en un proyecto de tipo Web (ASP Core MVC 2.0), por curiosidad copie y pegue el mismo bloque de código en un proyecto
de tipo WinForm y extrañamiento funciona normal.
Alguien sabe a que se debe esto?
De ante mano muchas gracias por su apoyo.
Saludos
Juan Gómez