Geral

Criptografando Senhas (HASH) em ASP.NET e C#

Ola Pessoal,

Para facilitar nossa vida e sempre melhorarmos a segurança de nossa aplicações, o .NET Framework nos fornece funcionalidades nativas para criarmos criptografia para senhas. Portanto ao invés de armazenarmos uma senha em banco de dados sem nenhuma segurança seguer podemos antes pelo menos criptografar ela. Abaixo vamos demostrar um exemplo simples para solucionar este problema:

Primeiramente para usarmos a função temos que importar o namespace:

using System.Web.Security;

Logo em seguida podemos usar uma função já pronta do próprio .NET Framework, função esta que pede como parametros, o texto a ser criptografado, neste caso a nossa senha, e claro o algoritmo de criptografia. No exemplo utilizo o SHA-1 mas poderiamos usar também, por exemplo, o MD5. Vamos ao código:

public static class Seguranca
{    
	//Função criada como Extension Methods C# 3.0    
	public static string CripitografaSenhaHASH(this string Senha)    
{        
//A HashPasswordForStoringInConfigFile já nos retorna uma string com o valor criptografado.        
return FormsAuthentication.HashPasswordForStoringInConfigFile(Senha, “sha1″);    
	}
}

Como podemos ver é bem simples. Pessoal só lembrando que este é apenas um exemplo, já que o Framework nos proporciona mais N maneiras de se criptografar dados. Por isso avalei o nível de segurança da aplicação e escolha qual é a melhor opção para ela.


Bookmark and Share

2 Comments

  1. Boa tarde tenho uma duvida se caso eu quiser recuperar essa senha sem a criptografia e possivel?

    O que aconteceu comigo eu usei essa criptografia , mas eu precisava ter a relação dessas senhas em um arquivo para imprimir porém qundo trago ela , ela vem criptografada

    VLW

Deixe uma resposta