- 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 (
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):
Si vous utilisez la même clé et le même vecteur que moi, vous devriez avoir quelque chose de ce genre:
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:
Ce qui devrait vous retourner:
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é
Voici quelques liens qui vous feront connaître tous les modes et les fonctionnalités disponibles avec MCRYPT:
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 (
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
), 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é
Voici quelques liens qui vous feront connaître tous les modes et les fonctionnalités disponibles avec MCRYPT:
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
-
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.