Codage/décodage rot13 (cryptographie)

Description

Bonjour,

Voici un script qui permet de coder/décoder en rot13.
rot13 est un cryptage basique (appliqué uniquement sur les caractères de l'alphabet) par rotation des caractères de 13 éléments sur la droite.
L'alphabet est constitué de 26 caractères, ainsi, vous aures deviné que rot13(rot13(texteclair)) == texteclair :)
Voici un exemple de texte clair/texte codé :
- Ceci est un texte clair - 123/=)à#
- Prpv rfg ha grkgr pynve - 123/=)à#

exemple d'utilisation du script :
- monTexteCrypte = Crypt.rot13.encode(monTexteClair);
- monTexteClair = Crypt.rot13.decode(monTexteCrypte);
- custCrypt = new TCrypt("un texte facultatif ou une variable chaine");
monTexteCrypte = custCrypt.rot13.encode();

Ce script évoluera sûrement dans le temps pour intégrer d'autres normes de cryptage
N'ayant pas de documentation sur le javascript < 1.3, je ne peux qu'affirmer que le script est compatible JavaScript1.3+

Le fichier zip contient le fichier .js du source, il suffit juste de l'intégrer pour disposer de l'objet Crypt et le constructeur TCrypt.

Source / Exemple :


function TCrypt (s) {
    FCrypt = new String(s);
    FCrypt.rot13 = new TAlgo("rot13", FCrypt);
    return FCrypt;
};

function TAlgo (algo, sender) {
    if (sender) this.parent = sender;
    switch (algo) {
    case "rot13" :
        this.encode = this.decode = TAlgo_ROT13_encode_decode;
        break;
    };
};

function TAlgo_ROT13_encode_decode (s) {
    var i = -1, cc;
    var a, A, z, Z = new String();
    var buffer = new String();
    if ((!s) && (this.parent.length)) var s=this.parent;
    a = "a"; A = "A"; z = "z"; Z = "Z";
    while (i++ < s.length - 1) {
        cc = s.charCodeAt(i);
        if ((cc >= a.charCodeAt()) && (cc <=z.charCodeAt())) cc = ((cc - a.charCodeAt() + 13) % 26) + a.charCodeAt()
        else
        if ((cc >= A.charCodeAt()) && (cc <=Z.charCodeAt())) cc = ((cc - A.charCodeAt() + 13) % 26) + A.charCodeAt();
        buffer += String.fromCharCode(cc);
    };
    return buffer;
};

Crypt = new TCrypt();

Conclusion :


Ce script évoluera sûrement dans le temps pour intégrer d'autres normes de cryptage

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.