$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 log_user($login_donne, $pass_donne) { global $config; if ($config['login'] == $login_donne && $config['pass'] == hash('sha512', $config["salt"] . $pass_donne)) { inlog('<em class="ok">User ' . $login_donne . ' logged successfully</em>'); $_SESSION['id_user'] = Crypte(id_user(), $config['encryption_key']); $_SESSION['login'] = $config['login']; $_SESSION['expire'] = time() + 60 * $config['session_expiration_delay']; return true; } else { if ($login_donne != '' && $pass_donne != '') { inlog('<em class="warning">User tried to log</em>'); } exit_redirect(); return false; } }