Erro ao descriptografar senha

07/05/2013

0

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

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar