Fonctions de Cryptage
Les fonctions de cryptage permetent de crypter une valeur et pour certaines d’entre elles, retrouver la valeur d’origine.
Les fonctions de cryptage se divisent en deux catégories :
- Two_way
- One_way
TWO_WAY
Les TWO_WAY sont les fonctions qui permettent de retrouver la valeur d’origine grace à une clé de cryptage.
- ENCODE() / DECODE()
- DES_ENCRYPT() / DES_DECRYPT()
- AES_ENCRYPT() / AES_DECRYPT()
La fonction ENCODE() dispose de deux parametres : la chaine à crypter, et la clé. Le resultat sera une chaine binaire.
DECODE dispose des memes parametres et dans le meme ordre.
La fonction DES_ENCRYPT() est utilisée si et seulement si MySQL à été compilé en SSL (Configuration de MySQL avec SSL).
DES_ENCRYPT(chaine/fichier [, (0-9) ( = clé du fichier de cryptage), nombre qui permettra de crypter la clé])
La fonction AES_ENCRYPT() est comme son homologue ENCODE respectant un algorythme standard de cryptage.
AES_ENCRYPT(chaine, clé)
ONE_WAY
- PASSWORD()
- MD5()
- OLD_Password()
- SHA1() / SHA()
La fonction PASSWORD() est utilisé par et pour MySQL. Elle permet de gérer ses propre mots de passe. MySQL demande de ne pas utiliser cette fonction car cette derniere peut changer d’une version à une autre. C’est pour cela qu’il existe OLD_Password()
La fonction MD5() permet de crypter une chaine sur 128bits. La chaine retournée est une chaine binaire de 32 caracteres sauf pour les NULL parceque si l’argument est NULL, MD5 renvera NULL.
MD5() est à utiliser en priorité
SHA1() permet de crypter une chaine sur 160bits et utilise un algorythme standard (Secure HASH Algorythme). La valeur retournée sera toujours de 40 caracteres ou NULL
Notes :
PASSWORD retourne une valeur plus grande que OLD_Password.
PASSWORD est en Majuscule / OLD_Password ne l’est pas.
ENCODE n’accepte que des chaines tandis que AES_ENCRYPT accepte tout.
Si on fait un ENCODE avec NULL, on à une erreur, avec un AES_ENCRYPT, on à un NULL
Les ONE_WAY accepte des chaine et entiers/flottant/booleen
Commentaires récents