Best Praticies?

Publicado: 31/01/2006 em IntoSpaces

Há algum tempo eu fiz um post aqui sobre o tipo stringoo http://thespoke.net/blogs/shinji/archive/2005/12/14/925243.aspx
Uma brincadeira com uma função muito estranha que encontramos no .net framework que recebe um valor "true" ou "false", uma string booleana eheheh.

Hoje quero mostrar para você um outro método duvidoso, que é mais utilizado mas que também tem algo muito estranho em sua estrutura e a documentação fala dele como se fosse normal..

Olha o cara aqui:
FormsAuthentication.HashPasswordForStoringInConfigFile
http://msdn2.microsoft.com/library/system.web.security.formsauthentication.hashpasswordforstoringinconfigfile.aspx

Não, não é do nome do método que estou falando eheheh
Este é um método Static que retorna um hash de uma string utilizando os algoritmos MDS ou SHA1, somente de ida.
Até aí tudo bem, um exclente método, mas vejam sua assinatura:

public static string HashPasswordForStoringInConfigFile (
    string password,
    string passwordFormat
)

Devemos passar nosso password em formato string e o formato da criptografia.
Um exemplo de utilização:

FormsAuthentication.HashPasswordForStoringInConfigFile("meuPassword", "md5");

Percebem o nome do algoritmo sendo passado como uma string? Só existem duas alternativa para este parâmetro, "md5" ou "sha1", agora a documentação diz o seguinte:

==========================================
Parameters

password

The password to hash.

passwordFormat

The hash algorithm to use. passwordFormat is a String that represents one of the FormsAuthPasswordFormat enumeration values.

Return Value

The hashed password.

===========================================

Temos que passar uma representação do FormsAuthPassword na string, algo inútil concordam comigo?
Eu não usei o reflector, mas eles precisam fazer comparação de string que com certeza é mais custosa que da constantes que os enums criam.

Está aí mais uma best pratice duvidosa do nosso framework, que apesar dos pesares é maravilhoso 😀

[]’s
Shinji

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s