Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/05/2011, 09:11
Avatar de huenupan
huenupan
 
Fecha de Ingreso: noviembre-2007
Ubicación: Temuco - Chile
Mensajes: 48
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Encriptación de string en VB.net para C#

Ya lo he resuelto. No era tan trivial como colocar el código en un traductor de código a otro lenguaje. Hex y Asc no existen en C# y se debe obtener de otra forma el número ASCII al igual que el Hexadecimal. El operador Xor todavía no lo entiendo mucho (sé que es el operador excluyente, que retorna V sólo si el valor 1 ó el valor 2 son distintos) pero su equivalente en C# es el tongo (^).

Por si alguien lo necesita, este método para encriptar está en muchas webs, pero sólo en VB.net. Aquí está en C#

Código:
    private string Encripta(string password)
    {
        string clave = "!"#$%&", pass2 = "", CAR, Codigo;
       

        for (int i = 0; i < password.Length; i++)
        {
            CAR = password.Substring(i, 1);
            Codigo = clave.Substring((i - 1) % clave.Length +1, 1);
            string valor = ("0" + (Asc(Codigo) ^ Asc(CAR)).ToString("X"));
            pass2 = pass2 + (valor).Substring(valor.Length - 2, 2);
        }
       
        return pass2;
    }

    public static int Asc(string s)
    {
        return Encoding.ASCII.GetBytes(s)[0];
    }

saludos