C# utilise SHA1 pour chaîne de hash dans le tableau d'octets
J'utilise SHA1 pour chiffrer certaines valeurs comme mot de passe.
C'est mon code:
String passwd = Membership.GeneratePassword(10, 2);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(passwd);
Mais VS renvoie l'erreur, parce que passwd est une chaîne de caractères.
J'ai pour stocker le mot de passe dans un tableau d'octets, donc, il y a une façon de résoudre ce problème?
SHA1 n'est pas un algorithme de chiffrement. Tu veux dire de hachage.
Vous êtes à l'aide de beurre non-salé, SHA1, tout comme LinkedIn dans le passé. Comme vous l'avez peut-être entendu parler, qui n'a pas trop bien pour eux. Au lieu d'utiliser bcrypt, il ralentit le mot de passe craquelins quelques ordres de grandeur, et a intégré le salage.
Vous êtes à l'aide de beurre non-salé, SHA1, tout comme LinkedIn dans le passé. Comme vous l'avez peut-être entendu parler, qui n'a pas trop bien pour eux. Au lieu d'utiliser bcrypt, il ralentit le mot de passe craquelins quelques ordres de grandeur, et a intégré le salage.
OriginalL'auteur user840718 | 2014-03-23
Vous devez vous connecter pour publier un commentaire.
Noter que SHA1 ne crypte pas les données, mais de hachage. Des données chiffrées peuvent être déchiffrées. Les algorithmes de hachage sont à sens unique.
UTF8
au lieu deUnicode
.Vous êtes de droite. J'ai fait le changement.
Bien que @tvanfosson obtenu correctement d'abord, +1 de moi pour l'amélioration de votre réponse après avoir été acceptée.
byte[] mot de passe = new SHA1Managed().ComputeHash(Encodage.UTF8.GetBytes(entrée)); comme un liner.
OriginalL'auteur meziantou
Utiliser un Codage pour convertir la chaîne en un tableau d'octets
Le nouveau nom de octets est beaucoup mieux. Et je voudrais aller avec votre réponse à l'aide de
UTF8
plutôt que la accepté de répondre avecUnicode
. Vous me battre pour elle, si +1, de moi ;).OriginalL'auteur tvanfosson