MembershipPasswordFormat Enumeração

Definição

Descreve o formato de criptografia para armazenar senhas para usuários associados.

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

Campos

Nome Valor Description
Clear 0

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

Hashed 1

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

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

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.

Exemplos

O exemplo a seguir mostra o elemento machineKey (ASP.NET Settings Schema) na seção system.web do arquivo Web.config de 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 está seguro. 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 armazenados 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. Senhas com hash não podem ser recuperadas.

Note

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