Caro Leitor, gostaria de falar hoje sobre a melhor forma de trabalhar com SHA1. Continuando com a série de artigos sobre criptografia. O primeiro foi o MD5.

Veja o artigo:
Link: http://aspneti.com/Metodo+MD5+954,0.aspx

    O SHA1 é outra maneira de criptografar dados, é usada numa grande variedade de aplicações e protocolos de segurança, incluindo TLS, SSL, PGP, SSH e outros.

Referência:
Ferramenta: Visual Studio .NET
Linguagem: C#.NET
Plataforma: Qualquer tipo de plataforma pode ser usado o que será escrito no artigo.

Importe

    É necessário fazer dois importes na classe antes de codificar o método responsável. São os famosos using dentro da classe .cs.  Code 1.1


using System.Security.Cryptography;
using System.Text;
Referência: Code 1.1

    O segundo passo é criar um método responsável pela criptografia. Lembrando que, use toda vez que puder “dados criptografados” no banco de dados. A verificação dos dados é a comparação entre o que está no banco com o que o usuário digitou na tela.

    Nunca coloque no select a verificação. Explicando melhor, primeiro busque os dados do usuário do banco de dados, criptografa a senha que ele digitou na tela e compare se os dados são iguais.

        private static string GetSHA1(string strPlain)
        {
            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] HashValue, MessageBytes = UE.GetBytes(strPlain);
            SHA1Managed SHhash = new SHA1Managed();
            string strHex = "";

            HashValue = SHhash.ComputeHash(MessageBytes);
            foreach (byte b in HashValue)
            {
                strHex += String.Format("{0:x2}", b);
            }
            return strHex;
        }
Code 1.2

    O método é público, estático, retorna uma string e recebe uma string de valor. Depois utilizo o Unicode, transformo os dados em array de bytes, utilizo o SHA1Magaged e faço o for com os dados. No final retorno a string criptografada.

    Não é nada difícil ter seus dados criptografados, mantendo mais segurança em seu aplicativo.

    Espero que tenha gostado e qualquer dúvida pode entrar em contato pelo site.