IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

création d'une clé de chiffrement-


Sujet :

Dotnet

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    958
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 958
    Points : 141
    Points
    141
    Par défaut création d'une clé de chiffrement-
    Bonjour,

    J'ai crée une méthode de cryptage Encrypt .
    Dans cette méthode j'appelle la méthode ComputeHash de la classe SHA256Managed pour le hashage d'une clé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    public  byte[] Encrypt(string strData)
            {
     
                byte[] results = null;
                try
                {
                    //conversion de la chaîne de caractères saisie dans le champ password
                    byte[] data = UTF8Encoding.UTF8.GetBytes(strData);
     
                    //création d'une instance de la classe ShaManaged pour le hashage de la clé contenue dans la variable hash par la méthode ComputeHash
                    using (SHA256Managed sha = new SHA256Managed())
                    {
     
                        byte[] keys = sha.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
     
                        //création d'une instance de la classe AesCryptoServiceProvider pour le chiffrement et le dechiffrement des données 
                        //à l’aide de l’implémentation Cryptographic Application Programming Interfaces(CAPI) de l’algorithme Advanced Encryption Standard (AES).
     
                        using (AesCryptoServiceProvider aes_crypto = new AesCryptoServiceProvider() { Key = keys, Mode = CipherMode.CBC, Padding = PaddingMode.PKCS7 })
                        {
     
     
                             ICryptoTransform transform = aes_crypto.CreateEncryptor();
     
                            //appel de la méthode TransformFinalBlock pour le chiffrement des données contenues dans le tableau data
                            results = transform.TransformFinalBlock(data, 0, data.Length);
     
     
                        }//fin de 2ème using
     
                    }//fin de 1er using
     
                }//fin de try
     
                catch (CryptographicException ex)
                {
                    Console.Write("Une erreur de cryptage est survenue " + ex.Message);
     
                    Console.Write("Une erreur est survenue " + ex.StackTrace);
     
                }
                catch (Exception ex)
                {
                    Console.Write("Une erreur est survenue " + ex.Message);
     
                    Console.Write("Une erreur est survenue " + ex.StackTrace);
     
                }//fin de catch
     
     
             return results;
     
          }//fin de Encrypt
    Or j'ai crée cette clé ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private static string hash ="f0xle@rn";
    Or je souhaiterais créer cette clé par le code , en utilisant peut-être une instance de la classe AesCryptoServiceProvider() ou d'une autre classe "faite pour cela".

    Je vous remercie beaucoup de bien vouloir m'aider à créer cette clé de manière plus professionnelle.

    Bien cordialement.

    new_wave
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 133
    Points : 122
    Points
    122
    Par défaut
    Hello,

    si j'ai bien compris, tu veux hasher une clé de chiffrement c'est ça ? Ou la valeur d'une donnée chiffrée ?
    Dans tous les cas, c'est AesCryptoServiceProvider qui devrait te générer la clé de chiffrement, donc sans passer une clé à ton provider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using (AesCryptoServiceProvider provider = new AesCryptoServiceProvider())
    Ensuite si tu peux hasher la clé si tu veux, ou la donnée chiffrée selon ce que tu veux faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using (SHA256Managed sha = new SHA256Managed())
    {
         byte[] hashedKey = sha.ComputeHash(provider.Key);
    }

Discussions similaires

  1. Réponses: 14
    Dernier message: 09/04/2004, 13h44
  2. [amc designer] création d'une base postgresql
    Par david42 dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 12/03/2004, 11h08
  3. Création d'une base avec IbConsole
    Par Lucien dans le forum Outils
    Réponses: 3
    Dernier message: 02/03/2004, 18h34
  4. création d'une batabse .gdb
    Par jejestyle dans le forum Bases de données
    Réponses: 3
    Dernier message: 23/02/2004, 00h29
  5. [BES] Création d'une variable d'environnement
    Par NGI80 dans le forum Autres
    Réponses: 2
    Dernier message: 17/10/2002, 07h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo