Valhalla.fr : Protection des données
Chiffrer
(Spécifiez une adresse)
Générer le code source
Algorithme
Déchiffrer
(Spécifiez une chaîne chiffrée)
Depuis le code source
Algorithme
Aide
Protection des adresses e-mail
  1. Pour insérer votre adresse e-mail dans une page Web :
    • Pour chiffrer une adresse e-mail, entrez l'adresse dans le champ de texte "Chiffrer" et cliquez sur le bouton "< Chiffrer >".
    • Vous pouvez copier le code généré et le coller directement dans vos pages HTML.
    • Pour déchiffrer une adresse e-mail, copiez le code source dans le champ de texte "Déchiffrer" et cliquez sur le bouton "< Déchiffrer >".
  2. Pour insérer votre adresse e-mail sur un forum ou un blog :
    • Pour chiffrer... (bientôt)
    • Pour déchiffrer... (bientôt)
Utilisation avancée
  1. Pour chiffrer ou déchiffrer un texte, copiez-le dans le champ de texte idoine et cliquez sur "< Chiffrer >" ou sur "< Déchiffrer >".
  2. Activer l'option Générer le code source pour générer un code HTML/JavaScript que vous pourrez copier/coller dans vos pages Web. Pour protéger un code HTML, chiffrez-le en cochant cette case. La méthode de chiffrage employée (ROT-13) n'est pas "sûre", mais elle empêche les robots d'interpréter votre code source.
  3. Pour extraire et déchiffrer le texte original depuis le code source ainsi généré, cochez la case Depuis le code source. Copiez ensuite le code source et collez-le dans le champ de texte "Décrypter". Cliquez sur "< Décrypter >".
  4. Certains algorithmes permettent le déchiffrement des données en utilisant un algorithme inversé. Il s'agit du ROT-13 et du Base64.
  5. Certains algorithmes ne permettent pas le déchiffrement des données ; le chiffrement est alors une opération à sens unique. Il s'agit des algorithmes MD5, SHA1 et CRC32.
  6. Le code source HTML/JavaScript généré pour la protection des adresses e-mail par l'algorithme ROT-13 est celui utilisé par TextMate de Macromates.
"; echo "document.getElementById('chiffrer').value = \"$original\";"; if($dshow) echo "document.getElementById('dechiffrer').value = \"$oldresult\";"; echo ""; ob_flush(); flush(); ob_flush(); flush(); } /* Déchiffrer */ elseif(isset($_GET['t']) and $_GET['t'] == "dhf") { $original = $_POST['dechiffrer']; /* Pour l'affichage... */ $aff = "déchiffré"; /* Doit-on analyser le code source et en extraire la chaîne à convertir ? */ if($_POST['gendecode'] == "oui") $result = stripcode($original); else $result = $original; /* Appel de l'algo */ $result = cypher($result, false); /* Re-chiffrer la chaîne pour l'afficher dans le textarea "déchiffrer" */ $dhf = cypher($result); /* Mettre la chaîne dans les textareas */ echo ""; ob_flush(); flush(); ob_flush(); flush(); } /* Erreur */ else { echo "Erreur : données manquantes !"; } /* Afficher les résultats */ ?>
Texte (Algorithme )
Texte original
Copyright © 2007 pour Valhalla.fr - Version 0.1 (02/08/2007) - Distribué sous licence CC 2.0 BY-SA France [Code source]
document.write("'; $c2 = '".replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);}));'; return htmlentities($c1).$input.htmlentities($c2); } /* Cette fonction retire le code HTML/JS pour en extraire la chaîne à décoder */ function stripcode($input) { /* Enlever les espaces superflus */ $input = trim($input); /* Localiser l'adresse e-mail au milieu du code JavaScript */ $input = explode("\"", $input); /* Le 3ème élément du tableau est l'e-mail */ /* Protection si le explode rate (= si l'utilisateur n'est pas foutu de faire un copier/coller) */ if(!isset($input[3])) return $input[0]; else $input = $input[3]; /* Si vous lisez ce code source et que vous vous demandez pourquoi on n'utilise pas ici les fonctions preg_match() ou ereg_match(), vous obtiendrez une réponse en consultant l'expression régulière (monstrueuse) qui décrit la norme RFC822 régissant le formatage des adresses e-mail. Elle est disponible à l'adresse suivante : http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html */ /* Remplacer \100 par @ */ $input = str_replace('\100', '@', $input); /* Remplacer \056 par . */ $input = str_replace('\056', '.', $input); /* Enlever les slash ... mais pourquoi des slash apparaissent-ils ?? */ $input = stripslashes($input); return $input; } /* Cette fonction appelle les méthodes de traitement de l'algo spécifié */ function cypher($input, $encode = true) { /* Définit si un décryptage est possible */ global $dshow, $algo; if(isset($_POST['chfcypher'])) $cypher = $_POST['chfcypher']; elseif(isset($_POST['dhfcypher'])) $cypher = $_POST['dhfcypher']; else $cypher = "rot13"; /* MD5 */ if($cypher == "md5") { $dshow = false; $algo = "MD5"; return md5($input); } /* SHA1 */ elseif($cypher == "sha1") { $dshow = false; $algo = "SHA1"; return sha1($input); } /* CRC32 */ elseif($cypher == "crc32") { $dshow = false; $algo = "CRC32"; return crc32($input); } /* Base64 */ elseif($cypher == "base64") { if($encode) { $dshow = true; $algo = "Base64"; return base64_encode($input); } else { $dshow = true; $algo = "Base64"; return base64_decode($input); } } else { $dshow = true; $algo = "ROT-13"; return str_rot13($input); } /* par défaut */ } ?>