Partilhar via


MembershipPasswordFormat Enumeração

Definição

Descreve o formato de criptografia para armazenar senhas de usuários de associação.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
Herança
MembershipPasswordFormat

Campos

Clear 0

Não é seguro, não use. As senhas não são criptografadas.

Encrypted 2

Não é seguro, não use. As senhas são criptografadas usando as configurações de criptografia determinadas pela configuração do elemento machineKey.

Hashed 1

As senhas são criptografadas usando o algoritmo de hash SHA1 unidirecional. Você pode especificar um algoritmo de hash diferente do algoritmo SHA1 usando o atributo hashAlgorithmType.

Em razão de problemas de colisão com SHA1, a Microsoft recomenda SHA256.

Exemplos

O exemplo a seguir mostra o elemento machineKey (ASP.NET Settings Schema) na system.web seção do arquivo Web.config para um aplicativo ASP.NET. Ele especifica a instância do SqlMembershipProvider aplicativo e define seu formato de senha como Hashed.

Este exemplo usa SHA1. Em razão de problemas de colisão com SHA1, a Microsoft recomenda SHA256.

<membership defaultProvider="SqlProvider"   
  userIsOnlineTimeWindow="20" hashAlgorithmType="SHA1">  
  <providers>  
    <add name="SqlProvider"  
      type="System.Web.Security.SqlMembershipProvider"  
      connectionStringName="SqlServices"  
      enablePasswordRetrieval="false"  
      enablePasswordReset="true"  
      requiresQuestionAndAnswer="true"  
      passwordFormat="Hashed"  
      applicationName="MyApplication" />  
  </providers>  
</membership>  

Comentários

A SqlMembershipProvider classe dá suporte a diferentes formatos de armazenamento de senha, mas você só deve usar Hashed; Clear e Encrypted não são seguros. Senhas claras não são seguras e não devem ser usadas. Eles são armazenados em texto sem formatação. As senhas criptografadas não são consideradas seguras, pois uma violação que revela o conteúdo do banco de dados também pode expor a chave de criptografia. Isso significa que suas senhas criptografadas podem ser descriptografadas e expostas. As senhas são criptografadas quando armazenadas e podem ser descriptografadas para comparação de senha ou recuperação de senha. As senhas com hash são criptografadas usando um hash salgado unidirecional quando armazenadas no banco de dados. Quando uma senha é validada, ela é combinada com um valor de sal e, em seguida, hash. O resultado é comparado com o valor no banco de dados para verificação. As senhas hash não podem ser recuperadas.

Observação

Se você não estiver familiarizado com os recursos de associação do ASP.NET, consulte Introdução à associação antes de continuar. Para obter uma lista de outros tópicos relacionados à associação, consulte Gerenciando usuários usando associação.

Aplica-se a

Confira também