Monthly Archives: avril 2012

Cryptage XOR en Java

Actuellement je travaille avec PetitPied sur un projet dont il a parlé plusieurs fois (Projet : Led Controller, Projet : Avancement Led Controller, et Projet : Interface Graphique).
J’aide à la création de l’application Java qui permettra de communiquer en SSH avec la carte électronique.

J’ai eu l’occasion de chercher une solution simple pour crypter un mot de passe contenu dans un fichier texte visible. Mon choix s’est alors porté sur un cryptage XOR (ou OU Exclusif).

Ce cryptage, assez rapide de par sa simplicité, peut crypter une chaîne de caractère facilement à l’aide de l’opérateur OU Exclusif et la décrypter de la même façon.
Ainsi, la même fonction peut crypter et décrypter, simple et efficace !

Une clef permet le codage de chaîne.
Dans le projet, le cryptage n’étant pas la priorité, j’utilise une clef d’un seul caractère. Toutefois, on peut coder avec une clef de plusieurs caractères, en faisant quelques modifications au code que je vous propose.

public String crypterXOR(String chaine, int clef)
{
    String chaineCryptee = "";
    for(int i = 0; i < chaine.length(); i++)
    {
        chaineCryptee += (char)((int)chaine.charAt(i) ^ clef);
    }
    return chaineCryptee;
}