[Sql Server]type de données à utiliser pour le mot de passe de sel et de valeurs de hachage et de quelle longueur?
Je suis de la génération de sel et de valeurs de hachage à partir de mes mots de passe en utilisant,
string salt = CreateSalt(TxtPassword.Text.Length);
string hash = CreatePasswordHash(TxtPassword.Text, salt);
private static string CreateSalt(int size)
{
//Generate a cryptographic random number.
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buff = new byte[size];
rng.GetBytes(buff);
// Return a Base64 string representation of the random number.
return Convert.ToBase64String(buff);
}
private static string CreatePasswordHash(string pwd, string salt)
{
string saltAndPwd = String.Concat(pwd, salt);
string hashedPwd =
FormsAuthentication.HashPasswordForStoringInConfigFile(
saltAndPwd, "sha1");
return hashedPwd;
}
Quel type de données vous dirais pour stocker ces valeurs dans sql server? Toute suggestion...
Sel:9GsPWpFD
Hash:E778AF0DC5F2953A00B35B35D80F6262CDBB8567
+ bonne question.
OriginalL'auteur Chendur Pandian | 2010-05-19
Vous devez vous connecter pour publier un commentaire.
ASPNET_DB dit ce qui ne peut pas aller mal.
alors que 128 peut sembler beaucoup, différents types de chiffrement peut entraîner dans les grandes chaînes que vous avez commencé avec. Il n'y a absolument aucune raison de ne pas suivre l'exemple de gens très intelligents qui ont passé des milliers d'heures de développement de la asp.net le système d'adhésion.
wow. Je suppose que vous avez beaucoup d'expérience dans l'implémentation de la sécurité des piles et ont été plus à chaque ligne de code source et de la colonne et de la procédure stockée qui compose la très robuste et flexible asp.net fournisseur de pile pour sauvegarder votre jugement sommaire de ma déclaration. hmmm... je connais quelqu'un qui correspond à cette description.....
Eh bien, je l'ai fait. Mais j'ai aussi essayer d'utiliser mon cerveau et ne pas suivre aveuglément les choses d'autres personnes peuvent avoir fait de des raisons totalement différentes de ce que vous n'avez même pas de soins à donner. Btw., Je seriosuly doute même MS aurait dépenser des milliers (!) de l'homme des heures juste developin l'asp.net le système d'adhésion, lorsque d'autres personnes prendre mabe 100 ou si dans l'ensemble. Et vous savez, le système d'adhésion a été "ajouté" dans un plus tard .version net après les gens intelligents totalement négligé rendre extensible par n'importe quel moyen? MS n'est pas parfait.
poète longueur de mot de passe pour le sel est une bonne ou une mauvaise idée?
eh bien, cela dépend vraiment de la durée approximative de votre sel. Je soupçonne que les longueurs similaires ont été tout simplement hors de convention plutôt que prévu de la nécessité. Vous pourriez probablement couper en deux, pas de problèmes. Mais je resterais avec une longueur variable de champ, sauf si vous voulez couper les résultats de votre requête, dans le cas de CHAR, ou de convertir des octets/string afin de comparer, dans le cas de l'option binaire. L'échelle de type (N) est probablement pas nécessaire, mais encore une fois, il est probable de la convention et de la cohérence.
OriginalL'auteur Sky Sanders
Nous stockons nos mots de passe comme un binaire SHA512 de hachage
Vous pouvez faire de même avec un sel
Je pense qu'il ment arc-en-ciel de la table des attaques, qui sont évités lors de l'utilisation de sel.
Je ne suis pas en désaccord. De toute façon, vous hachage salé mot de passe et il est stocké en tant que fichier binaire SHA512 de hachage (je suppose que c'est techniquement pas le mot de passe plus)
OriginalL'auteur Joe Phillips