Quando falamos em aplicações seguras, acho que não podemos descartar a opção de guardarmos na Base de Dados a senha “Hasheada”.
O FormsAuthentication nos dispõe um método para “hashear” a senha do usuário e com isso compararmos se está identica à da Base de Dados. O método para isso é o FormsAuthentication.HashPasswordForStoringInConfigFile() qual recebe como parametro o valor à ser “hasheado” e o tipo de Hash (“SHA1” ou “MD5”) . Exemplo:
FormsAuthentication.HashPasswordForStoringInConfigFile(Me.txtSenha.Text.Trim, “SHA1”)
Utilizando uma Senha como “israel”, veja o resultado:
MD5: 3F8454B7F2C12CEBB1622B6B0DFD1021
SHA1: 8F4F9F2DCBAF9BD8EE9E4D1A2CB971A04084157B
Importante: O Hash é irreversível, ou seja, uma vez “hasheado” não possível saber o que existe aí (até agora :P). Isso torna a aplicação bastante segura, uma vez que nem o sistema sabe qual a senha de um determinado usuário.
OBS.: Para utilizá-lo é necessário importar o System.Web.Security