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 :

 

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;
}

 

En PHP :

 

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;
}

 

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  »