générer des AES 256 bits valeur de la clé de
Personne ne sait de façon à obtenir une valeur de clé de 256 bits généré à partir d'une phrase de passe de n'importe quelle longueur? Le chiffrement ne peut pas être salé que les valeurs chiffrées doivent être générés à nouveau et comparées dans la base de données. Si une valeur doit générer la même chaîne cryptée à chaque fois qu'il est crypté.
Actuellement, je suis en utilisant un 32 char key de travail sur la peut-être faux c'est de 256 bits?
Oui, je veux "le quick brown fox" pour être converti à une AES 256 bits de la clé?
- “Le chiffrement ne peut pas être salé que les valeurs chiffrées doivent être générés à nouveau” C'est pourquoi il est courant pour stocker le sel avec le mot de passe haché. De cette façon, si deux utilisateurs ont le même mot de passe, il produit des différentes tables de hachage, mais pour un utilisateur unique, le même mot de passe sera toujours de produire le même hash.
- pour être franc, sans le sel, il n'est pas vraiment chiffré à tous. Il ne devrait pas être possible de le faire directement une recherche de base de données contre une valeur chiffrée.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez construire le
Rfc2898DeriveBytes Classe
avec un arbitraire de la taille d'un mot de passe et ensuite dériver une clé de la taille désirée dans ce cas, 256 bits (32 octets):Afin de produire un déterministe de sortie (c'est à dire même entrée produira le même résultat), vous devrez coder en dur le sel. Le sel doit être d'au moins 8 octets:
Rfc2898DeriveBytes
implémente PBKDF2 🙂Probablement la meilleure façon est d'utiliser PBKDF2 l'aide SHA256 (qui va générer 256 bits de sortie) et une application spécifique sel & nombre d'itérations. Vous devez être conscient que l'utilisation d'une application spécifique du sel retiré beaucoup de la protection de PBKDF2, de sorte que vous pouvez avoir besoin de protection supplémentaire pour pallier ce problème. Une méthode serait de faire en sorte que la base de données est sûre, et qu'un montant maximum de tente peut être utilisé.
Vous sont corrects en stipulant qu'un 32 char phrase de passe n'est pas une clé de 256 bits. Il ne contient pas suffisamment d'entropie, et de quelques octets peuvent même ne pas avoir de caractère valide représentations.
//Obtenir le premier 44 charaters pour la Clé AES et le reste des caractères pour l'AES IV
Ma version. Je voulais juste clés sans un mot de passe.
Vous pouvez utiliser une fonction de hachage qui fournit 256 bits outuput de l'entrée de n'importe quelle longueur, par exemple SHA256.