Cette méthode "maison" n'offre qu'une protection de niveau 1 sur une échelle de 10 !
C'est un algorythme efficace contre les "petits curieux", mais en aucun cas contre les "pro du piratage", du fait de sa (relative) simplicité. voir faiblesses
Pour une sécurité renforcée, des algorythmes bien plus puissants existent (et ont fait leurs preuves). Voir Cryptographie
Principe
Que ce soit pour un "espace membre", un "espace d'administration", l'abonnement à une "newsletter", on a souvent besoin d'enregistrer (dans une base de données par exemple) des données sensibles telles que "login", "mot de passe" ou "e-mail".
Au lieu de les enregistrer tels quels, "en clair", il est parfois utile, voire recommandé, de les coder. Il suffira ensuite de les décoder au moment de les utiliser.
Voici une méthode de cryptage par "table de correspondance personnalisée".
Principe :
- la création de 2 tableaux array() mettant en correspondance les éléments "en clair" et les éléments "codés",
- 2 paramètres définissant la méthode de correspondance,
- une fonction de codage,
- une fonction de décodage.
L'idée ici est de créer sa "table de correspondance personnalisée" par :
- mélange aléatoire des caractères,
- concordance avec un ou plusieurs caractères de substitution,
- utilisation d'une ou plusieurs "tables" de correspondance.
Tables de correspondance
- table0 : les caractères "en clair"
- table1, outable1[0], table1[1], table1[2], ... : les caractères "codés" (table à une ou plusieurs dimensions, en fonction de la méthode choisie) Méthode
- paramètre "methode" : on définit combien de caractères (de table1) remplacent un caractère (de table0).
- paramètre "alterner" : on peut compliquer en alternant le codage sur 2 tables ou plus.
encodage/décodage
Les scripts d'encodage et de décodage dépendront :
- de la table de correspondance,
- de la méthode choisie.