Erro ao descriptografar senha

.NET

07/05/2013

Critografei uma senha de teste. No momento em que eu fui descriptografar para logar no sistema, deu esse erro:

Comprimento inválido para uma matriz de caracteres Base-64.

Usei um código de Cripto e Descripto que eu peguei na web. Abaixo os código. A senha gravada é 123 e o hash guardado no base é esse: sPF/TLh+KuE=

public string Codificar(string entrada)
{
TripleDESCryptoServiceProvider tripledescryptoserviceprovider = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider md5cryptoserviceprovider = new MD5CryptoServiceProvider();

try
{
if (entrada.Trim() != "")
{
string myKey = "1111111111111111"; //Aqui vc inclui uma chave qualquer para servir de base para cifrar, que deve ser a mesma no método Decodificar
tripledescryptoserviceprovider.Key = md5cryptoserviceprovider.ComputeHash(ASCIIEncoding.ASCII.GetBytes(myKey));
tripledescryptoserviceprovider.Mode = CipherMode.ECB;
ICryptoTransform desdencrypt = tripledescryptoserviceprovider.CreateEncryptor();
ASCIIEncoding MyASCIIEncoding = new ASCIIEncoding();
byte[] buff = Encoding.ASCII.GetBytes(entrada);

return Convert.ToBase64String(desdencrypt.TransformFinalBlock(buff, 0, buff.Length));

}
else
{
return "";
}
}
catch (Exception exception)
{
throw exception;
}
finally
{
tripledescryptoserviceprovider = null;
md5cryptoserviceprovider = null;
}

}

public string Decodificar(string entrada)
{
TripleDESCryptoServiceProvider tripledescryptoserviceprovider = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider md5cryptoserviceprovider = new MD5CryptoServiceProvider();

try
{
if (entrada.Trim() != "")
{
string myKey = "1111111111111111"; //Aqui vc inclui uma chave qualquer para servir de base para cifrar, que deve ser a mesma no método Codificar
tripledescryptoserviceprovider.Key = md5cryptoserviceprovider.ComputeHash(ASCIIEncoding.ASCII.GetBytes(myKey));
tripledescryptoserviceprovider.Mode = CipherMode.ECB;
ICryptoTransform desdencrypt = tripledescryptoserviceprovider.CreateDecryptor();
byte[] buff = Convert.FromBase64String(entrada);

return ASCIIEncoding.ASCII.GetString(desdencrypt.TransformFinalBlock(buff, 0, buff.Length));
}
else
{
return "";
}
}
catch (Exception exception)
{
throw exception;
}
finally
{
tripledescryptoserviceprovider = null;
md5cryptoserviceprovider = null;
}

}
Pjava

Pjava

Curtidas 0
POSTAR