Função de hash SHA-1 em C#

skullrazor

Portugal@Home Member
Função de hash SHA-1 em C#

É necessário adicionar um novo namespace:
Código:
using System.Security.Cryptography;
E agora a função:
Código:
public string SHA1Hash(string input)
{
     SHA1 sha = new SHA1CryptoServiceProvider();
     byte[] data = System.Text.Encoding.ASCII.GetBytes(input);
     byte[] hash = sha.ComputeHash(data);

     StringBuilder sb = new StringBuilder();
     for (int i = 0; i < hash.Length; i++)
     {
          sb.Append(hash[i].ToString("X2"));
     }
     return sb.ToString();
}
A função vai retornar uma string com 40 caracteres alfa-numéricos.
Espero que seja útil para alguém :)

Cumps
 
Última edição:
SHA-1 (assim como todas as funções do set SHA) é uma função de hash e não de cifra de dados. O próprio nome devia ser suficiente para esclarecer a dúvida.
 
SHA-1 (assim como todas as funções do set SHA) é uma função de hash e não de cifra de dados. O próprio nome devia ser suficiente para esclarecer a dúvida.

Peço desculpa pela grande falha, já está corrigido. Obrigado pelo esclarecimento :)

Cumps
 
Última edição:
Bom, a min já serviu. Caiu como uma luva no meu projecto.

basicamente recebo uma string já em SHA-1 e é preciso gerar um hash e depois comparar para validar um request.

Original Hash: 7160FA108CA4095BD954A04764BC488A2D53DA23
Compose Hash: 7160FA108CA4095BD954A04764BC488A2D53DA23
request genuine

tks
 
Última edição:
Olá Amigos,

Sem duvida um bom post.

Faço-vos outra questão ... É possivel usar esta função usando uma chave privade e publica? Isto é, gerar o Hash usando uam chave publica e depois reconstituir tudo usando uma chave privada? É possivel?

Abraço
 
Back
Topo