SqlMembershipProvider.PasswordFormat Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica o formato para armazenar senhas no banco de dados de associação 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 da propriedade
Um dos valores MembershipPasswordFormat, indicando o formato para armazenar senhas no banco de dados SQL Server.
Exemplos
O exemplo de código a seguir mostra o elemento de associação 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.
<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>
Comentários
Use Hashed apenas e ClearEncrypted não esteja seguro.
Hashed as senhas são hash usando um algoritmo de hash unidirecional e um valor de sal gerado aleatoriamente quando armazenado no banco de dados. Quando uma senha é validada, ela é hash com o valor de sal no banco de dados para verificação. Senhas com hash não podem ser recuperadas.
Encrypted as senhas 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.
O valor PasswordFormat é especificado na seção providers do arquivo Web.config do aplicativo ASP.NET.
Encrypted e Hashed senhas são criptografadas ou hashadas por padrão com base nas informações fornecidas no elemento machineKey em sua configuração. Observe que, se você especificar um valor 3DES para o validation atributo ou se nenhum valor for especificado, as senhas hash 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 (ASP.NET Settings Schema). Se você escolher criptografia, a criptografia de senha padrão usará a AES. Você pode alterar o algoritmo de criptografia definindo o decryption atributo do elemento de configuração machineKey . Se você estiver criptografando senhas, deverá 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 senhas criptografadas com associação ASP.NET.
Devido a problemas de colisão com SHA1, Microsoft recomenda um modelo de segurança baseado em SHA256 ou melhor.