MembershipPasswordFormat Enumeração

Definição

Descreve o formato de encriptação para armazenar palavras-passe para utilizadores de membros.

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

Campos

Name Valor Description
Clear 0

Não seguro, não usar. As palavras-passe não estão encriptadas.

Hashed 1

As palavras-passe são encriptadas unidirecionalmente usando o algoritmo de hash SHA1. Pode especificar um algoritmo de hashing diferente do algoritmo SHA1 usando o hashAlgorithmType atributo.

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

Encrypted 2

Não seguro, não usar. As palavras-passe são encriptadas usando as definições de encriptação determinadas pela configuração do elemento machineKey.

Exemplos

O exemplo seguinte mostra o elemento machineKey Element (ASP.NET Settings Schema) na secção system.web do ficheiro de Web.config para uma aplicação ASP.NET. Especifica a instância da SqlMembershipProvider aplicação e define o formato de palavra-passe para Hashed.

Este exemplo utiliza o SHA1. Devido a 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>

Observações

A SqlMembershipProvider classe suporta diferentes formatos de armazenamento de palavras-passe, mas deve usar Hashedapenas ; Clear e Encrypted não são seguros. Palavras-passe claras não são seguras e não devem ser usadas. São armazenados em texto simples. Palavras-passe encriptadas não são consideradas seguras, pois uma violação que revele o conteúdo da sua base de dados pode também expor a chave de encriptação. Isto significa que as suas palavras-passe encriptadas podem ser desencriptadas e expostas. As palavras-passe são encriptadas quando armazenadas e podem ser desencriptadas para comparação ou recuperação de palavras-passe. As palavras-passe hashadas são encriptadas usando um hash salgado unidirecional quando armazenadas na base de dados. Quando uma palavra-passe é validada, é combinada com um valor de sal e depois hashada. O resultado é comparado com o valor na base de dados para verificação. Palavras-passe hashadas não podem ser recuperadas.

Note

Se não estiver familiarizado com as funcionalidades de adesão do ASP.NET, consulte Introdução à Adesão antes de continuar. Para uma lista de outros tópicos relacionados com a adesão, veja Gerir Utilizadores através do Uso da Adesão.

Aplica-se a

Ver também