SqlMembershipProvider.PasswordFormat Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.