$CleDEncryptage = md5(rand(0, 32000)); $Compteur = 0; $VariableTemp = ""; for ($Ctr = 0; $Ctr < strlen($Texte); $Ctr++) { if ($Compteur == strlen($CleDEncryptage)) { $Compteur = 0; } $VariableTemp .= substr($CleDEncryptage, $Compteur, 1) . (substr($Texte, $Ctr, 1) ^ substr($CleDEncryptage, $Compteur, 1)); $Compteur++; } return base64_encode(GenerationCle($VariableTemp, $Cle)); } function Decrypte($Texte, $Cle) { $Texte = GenerationCle(base64_decode($Texte), $Cle); $VariableTemp = ""; for ($Ctr = 0; $Ctr < strlen($Texte); $Ctr++) { $md5 = substr($Texte, $Ctr, 1); $Ctr++; $VariableTemp .= substr($Texte, $Ctr, 1) ^ $md5; } return $VariableTemp; } //Exemple de l'appel aux fonctions Crypte et Decrypte : $Cle = "MotDePasseSuperSecret"; $MonTexte = "Mon numéro de carte de crédit est le 445.32.443.12"; $TexteCrypte = Crypte($MonTexte, $Cle); $TexteClair = Decrypte($TexteCrypte, $Cle); echo "Texte original : {$MonTexte} <Br>"; echo "Texte crypté : {$TexteCrypte} <Br>"; echo "Texte décrypté : {$TexteClair} <Br>";
function is_ok() { global $config; $expired = false; if (!isset($_SESSION['id_user'])) { return false; } if ($_SESSION['expire'] < time()) { $expired = true; } $sid = Decrypte($_SESSION['id_user'], $config['encryption_key']); $id = id_user(); if ($sid != $id || $expired == true) { return false; } else { $_SESSION['expire'] = time() + 60 * $config['session_expiration_delay']; return true; } }