Encrypter et décrypter vos données facilement !

Walky 🇫🇷

Cryptoboy
Ancien staff
Inscription
18 Octobre 2012
Messages
1 278
Réactions
1 187
Points
23 400
Bonjour à tous , aujourd'hui on se retrouve pour un nouveau tutoriel dans lequel je vais vous apprendre à encrypter et décrypter vos données facilement en PHP !

Tout d'abord, nous allons utiliser les fonctions mcrypt_encrypt et mcrypt_decrypt. L'intérêt d'utiliser ces fonctions va être de pouvoir utiliser une clé de chiffrement afin que vos données soient impossible à décrypter par un tiers ne connaissant pas la clé.

Avec ces fonctions, vous avez la possibilité de choisir votre mode de chiffrement ( ), comme vous pouvez le voir, un grand nombre de modes de chiffrements sont disponibles. Dans le tutoriel je vais utiliser celui-ci: MCRYPT_RIJNDAEL_128.

Attention ! Il faut savoir que chaque mode de chiffrement devra comporter une clé de taille différente, nous verrons ceci plus tard.

Commençons donc à chiffre notre chaîne de caractères (en définissant notre clé, notre vecteur d'initialisation et notre mode de chiffrement):
PHP:
<?php

$data = array(
    'key' => '1234567897458147',
    'iv'  => 'zef52sd7421rfc78'
);

$encryptedText = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $data['key'], 'Ma chaîne de caractère', MCRYPT_MODE_CBC, $data['iv']);

var_dump($encryptedText);

Si vous utilisez la même clé et le même vecteur que moi, vous devriez avoir quelque chose de ce genre:
Code:
�>�ʉ�� �i�1 l�zUHVs�;_?�

Ce qui est bien évidemment impossible à décrypter sans connaître la clé et le vecteur d'initialisation

Passons désormais à la partie qui va nous permettre de déchiffrer les caractères générés par notre fonction de chiffrement, c'est toujours aussi simple:
PHP:
<?php

$data = array(
    'key' => '1234567897458147',
    'iv'  => 'zef52sd7421rfc78'
);

$encryptedText = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $data['key'], 'Ma chaîne de caractère', MCRYPT_MODE_CBC, $data['iv']);

$decryptedText = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $data['key'], $encryptedText, MCRYPT_MODE_CBC, $data['iv']);

var_dump(trim($decryptedText));

Ce qui devrait vous retourner:
Code:
Ma chaîne de caractère

Ici, la fonction trim() est très importante, car elle nous permet de supprimer les caractères spéciaux et les espaces inutiles à la fin de la chaîne de caractère.

Voilà, peu de lignes de code pour quelque chose de très utile et très sécurisé :neo:


Voici quelques liens qui vous feront connaître tous les modes et les fonctionnalités disponibles avec MCRYPT:
 

Peaky Blinders

King Plex
Ancien staff
Inscription
27 Décembre 2012
Messages
12 668
Réactions
5 293
Points
26 663
mmm rijndael sa me dit qq chose , c po le AES256 si j me trompe po ?
"Rijndael est le nom de l' de employé par le ."
 
Inscription
24 Juillet 2015
Messages
180
Réactions
60
Points
1 496
Le seul problème tu peu pas vraiment encrypter des donnée car la clé et fix sauf si tu passe par une variable dynamique! car il suffi simplement d'avoir accès au php et le tours et jouer !
 

Walky 🇫🇷

Cryptoboy
Ancien staff
Inscription
18 Octobre 2012
Messages
1 278
Réactions
1 187
Points
23 400
Le seul problème tu peu pas vraiment encrypter des donnée car la clé et fix sauf si tu passe par une variable dynamique! car il suffi simplement d'avoir accès au php et le tours et jouer !
Un visiteur lambda ne peut pas avoir accès au fichier PHP, à moins d'y accèder via le FTP.

Le chiffrement est donc sécurisé, sauf dans le cas que je viens de citer
 
Inscription
24 Juillet 2015
Messages
180
Réactions
60
Points
1 496
Un visiteur lambda ne peut pas avoir accès au fichier PHP, à moins d'y accèder via le FTP.

Le chiffrement est donc sécurisé, sauf dans le cas que je viens de citer

oui pour cela que j'ai dit il suffi simplement d'avoir accès au php, via une faille, ou via le ftp mais si non oui sécurisé !
 
Haut