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

MySQL Discussion :

Cryptage d'un champ en AES


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 16
    Par défaut Cryptage d'un champ en AES
    Bonjour,
    J'essaie de crypter le champ "motdepasse" de ma base de données PhpMyAdmin, on doit pouvoir l'afficher à l'utilisateur donc le hachage n'est pas possible.

    J'essaie donc d'utiliser aes_encrypt() et aes_decrypt(). Lorsque j'utilise aes_encrypt() sur le mot de passe "Aucun" avec la clé "uhu45" il entre dans la base de données "r7".
    J'ai donc essayé aes_decrypt(aes_encrypt("message","uhu45"),"uhu45") dans la console mysql de PHPMyADMIN. Le résultat obtenu est une suite Hexadécimale "8A54855524" 'peut être une adresse).

    Quelqu'un aurait-il des explications s'il vous plait?

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 900
    Par défaut
    Salut deyanos.

    Voici un exemple d'utilisation de AES_ENCRYPT et AES_DECRYPT.

    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
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
     
    -- ============
    -- Base `Essai`
    -- ============
     
    DROP DATABASE IF EXISTS `essai`;
     
    CREATE DATABASE `essai`
    	DEFAULT CHARACTER SET `utf8`
    	DEFAULT COLLATE       `utf8_general_ci`;
     
    USE `essai`;
     
    COMMIT;
     
    -- ============
    -- Table `user`
    -- ============
     
    DROP TABLE IF EXISTS  `user`;
     
    CREATE TABLE `user`
    (
      `id`     int unsigned    NOT NULL AUTO_INCREMENT,
      `name`   varbinary(255)  NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB 
      DEFAULT CHARACTER SET = utf8  COLLATE = utf8_general_ci;
     
    -- ==================
    -- Remplissage `user`
    -- ==================
     
    INSERT into `user` (`name`) VALUES
    (AES_ENCRYPT('Albert',   'clefsecrete')),
    (AES_ENCRYPT('Einstein', 'clefsecrete'));
     
    -- =============
    -- Vidage `user`
    -- =============
     
    select * from user;
     
    select AES_DECRYPT(name, 'clefsecrete') from user;
     
    COMMIT;
     
    SET AUTOCOMMIT = 1;
    Tu remarqueras que la colonne 'name' est au format 'varbinary'.

    Et voici le résultat à l'exécution :

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `essai`
    --------------
     
    --------------
    CREATE DATABASE `essai`
            DEFAULT CHARACTER SET `utf8`
            DEFAULT COLLATE       `utf8_general_ci`
    --------------
     
    --------------
    COMMIT
    --------------
     
    --------------
    DROP TABLE IF EXISTS  `user`
    --------------
     
    --------------
    CREATE TABLE `user`
    (
      `id`     int unsigned    NOT NULL AUTO_INCREMENT,
      `name`   varbinary(255)  NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB
      DEFAULT CHARACTER SET = utf8  COLLATE = utf8_general_ci
    --------------
     
    --------------
    INSERT into `user` (`name`) VALUES
    (AES_ENCRYPT('Albert',   'clefsecrete')),
    (AES_ENCRYPT('Einstein', 'clefsecrete'))
    --------------
     
    --------------
    select * from user
    --------------
     
    +----+------------------+
    | id | name             |
    +----+------------------+
    |  1 | —bŽcp—»[ïEÇÇe™/ |
    |  2 | Ù«¬ý£Þ;·PCïJK* |
    +----+------------------+
    --------------
    select AES_DECRYPT(name, 'clefsecrete') from user
    --------------
     
    +----------------------------------+
    | AES_DECRYPT(name, 'clefsecrete') |
    +----------------------------------+
    | Albert                           |
    | Einstein                         |
    +----------------------------------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
     
    Appuyez sur une touche pour continuer...
    @+

Discussions similaires

  1. Cryptage AES clé 256bits
    Par marion782 dans le forum Sécurité
    Réponses: 15
    Dernier message: 16/07/2013, 16h52
  2. [MySQL-5.1] Cryptage Simple de Champs
    Par alejandro dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/03/2013, 01h19
  3. cryptage d'un champ de la BD
    Par lesultan2007 dans le forum Développement
    Réponses: 1
    Dernier message: 10/10/2008, 13h32
  4. cryptage d'un champs
    Par pigeon11 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/06/2008, 17h17
  5. Bibliothèque zip avec cryptage AES
    Par guilig dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 01/02/2007, 18h30

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