SqlMembershipProvider.PasswordFormat Propriedade

Definição

Recebe um valor que indica o formato para armazenar palavras-passe na base de dados de membros do SQL Server.

public:
 virtual property System::Web::Security::MembershipPasswordFormat PasswordFormat { System::Web::Security::MembershipPasswordFormat get(); };
public override System.Web.Security.MembershipPasswordFormat PasswordFormat { get; }
member this.PasswordFormat : System.Web.Security.MembershipPasswordFormat
Public Overrides ReadOnly Property PasswordFormat As MembershipPasswordFormat

Valor de Propriedade

Um dos valores MembershipPasswordFormat, indicando o formato para armazenar palavras-passe na base de dados SQL Server.

Exemplos

O seguinte exemplo de código mostra o elemento membership na secção system.web do ficheiro 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.

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
  <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

Apenas usar Hashed e ClearEncrypted não são seguros. Hashed As palavras-passe são hashadas usando um algoritmo de hash unidirecional e um valor de sal gerado aleatoriamente quando armazenadas na base de dados. Quando uma palavra-passe é validada, ela é hashada com o valor de sal na base de dados para verificação. Palavras-passe hashadas não podem ser recuperadas. Encrypted As palavras-passe 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.

O valor PasswordFormat é especificado na secção providers do ficheiro de Web.config para a aplicação ASP.NET.

Encrypted e Hashed as palavras-passe são encriptadas ou com hash por defeito, com base na informação fornecida no elemento machineKey na sua configuração. Note que, se especificar um valor de 3DES para o validation atributo, ou se não for especificado nenhum valor, as palavras-passe hashadas serão hashadas usando o SHA1 algoritmo.

Um algoritmo de hash personalizado pode ser definido usando o atributo hashAlgorithmType do elemento de configuração membership Element (ASP.NET Settings Schema). Se escolher encriptação, a encriptação por palavra-passe por defeito usa AES. Pode alterar o algoritmo de encriptação definindo o decryption atributo do elemento de configuração machineKey . Se estiver a encriptar palavras-passe, deve fornecer um valor explícito para o decryptionKey atributo no elemento machineKey . O valor padrão de AutoGenerate para o atributo decryptionKey não é suportado ao usar palavras-passe encriptadas com ASP.NET Membro.

Devido a problemas de colisão com o SHA1, a Microsoft recomenda um modelo de segurança baseado no SHA256 ou superior.

Aplica-se a

Ver também