Dyrk.org
Do You Really Know

Script de Chiffrement PHP – JavaScript – V.2.0

Publié le 28 août 2015 par #Ro0t

2953693-painting_sherlock_holmes_by_ineer-d5krpt4

 

Hello Hello,

 

Bon j’ai vu que mon article sur le chiffrement vous avais pas mal intéressé !

Je me suis donc dis, pourquoi ne pas leurs en faire un, un tout petit peu plus complexifié :)

 

Voici donc une deuxième itération de mon script :

 

En Javascript :

 

[pastacode lang= »php » message= » » highlight= » » provider= »manual »]

function encrypt($msg,$key) {
        $x   = 0; $z = 0;
        $tmp = $msg;
        while (strlen($msg) - 1 >= $x ){
                $caractere = $tmp[$x];
                $clef      = $key[$z++];
                $tmp[$x] = chr(ord($caractere) + intVal($clef));
                $z=($z>strlen($key)-1)?0:$z;++$x;
        }
        $tmp =  base64_encode($tmp);
        return $tmp;
}


function decrypt($msg2,$key2) {
        $a   = 0; $j = 0;
        $tmp2 = base64_decode($msg2);
        while (strlen($tmp2) - 1 >= $a ){
                $caractere2 = $tmp2[$a];
                $clef2      = $key2[$b++];
                $tmp2[$a] = chr(ord($caractere2) - intVal($clef2));
                $b=($b>strlen($key2)-1)?0:$b;$a++;
        }
        return $tmp2;
}

[/pastacode]

 

En PHP :

 

[pastacode lang= »php » message= » » highlight= » » provider= »manual »]

function encrypt($msg,$key) {
        $x   = 0; $z = 0;
        $tmp = $msg;
        while (strlen($msg) - 1 >= $x ){
                $caractere = $tmp[$x];
                $clef      = $key[$z++];
                $tmp[$x] = chr(ord($caractere) + intVal($clef));
                $z=($z>strlen($key)-1)?0:$z;++$x;
        }
        $tmp =  base64_encode($tmp);
        return $tmp;
}


function decrypt($msg2,$key2) {
        $a   = 0; $j = 0;
        $tmp2 = base64_decode($msg2);
        while (strlen($tmp2) - 1 >= $a ){
                $caractere2 = $tmp2[$a];
                $clef2      = $key2[$b++];
                $tmp2[$a] = chr(ord($caractere2) - intVal($clef2));
                $b=($b>strlen($key2)-1)?0:$b;$a++;
        }
        return $tmp2;
}

[/pastacode]

 

Toujours dans l’état d’esprit d’incrémentation, cette fois ci, vous pouvez envoyer en clé, une série de chiffre :

 

Ex : encrypt(« coucou c’est moi ! », « 41524 »);

L’algorithme, va cette fois parcourir, chaque caractère, et les incrémenter à tours de rôle par le caractère de la clé.

 

Les codes Ascii sont disponible sur mon ancien article : Système de Chiffrement / Dechiffrement pour les nuls !

 

Voyons un peu le fonctionnement en détails avec le mot « coucou »

 

Lettre  » c  » qui correspond au code Ascii  99, auquel j’incrémente via le premier chiffre de ma clé  » 4  » soit 99 + 4 => 103, correspondant au code Ascii de la lettre  » g « 

 

Lettre  » o  » qui correspond au code Ascii  111, auquel j’incrémente via le second chiffre de ma clé  » 1  » soit 111 + 1 => 112, correspondant au code Ascii de la lettre  » p « 

 

Lettre  » u  » qui correspond au code Ascii  117, auquel j’incrémente via le troisième chiffre de ma clé  » 5  » soit 117 + 5 => 122, correspondant au code Ascii de la lettre  » z « 

 

Ainsi de suite …

 

Pour au final obtenir le mot  » gpzgpz « , converti en base64  » Z3B6Z3B6  »