Cryptage par décalage d'un email

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 412 fois - Téléchargée 17 fois

Contenu du snippet

Ce code permet de montrer comment on peut facilement crypter un email par la méthode du chiffrement par décalage.
Utile pour éviter que des robots récupére votre email, il est cependant totalement inefficace contre une analyse humaine.
Le cryptage ici est assez superflux car les robots ne sont pas si intelligent ...

Ce code a plus un rôle éducatif, pour les débutant voulant se lancer en douceur dans la cryptographie.
Ce script peut être réadapté pour d'autre fonctions.

Source / Exemple :


<html>
<head>
<script>

// Cryptage (chiffrement par décalage) d'un email

// Les fonction:
// On utilise la fonction crypt() pour crypter l'email 
// Et getEmail pour le décrypter()

// Pour une utilisation classique, il suffit d'utiliser crypt en local, et récuperer la valeur
// puis la recopier en dure dans une variable dans la page cible, sinon l'email restera visible...

// Pour assurer un maximum de sécurité, on peut egalement crypter "mailto" avec l'email.

// Clé = entier quelconque <> 0 (et modulo 255 aussi) si on veut être logique :)
var key = 20;

// email à crypter
var email = "toto@toto.fr";

// Variable de sauvegarde de l'email crypté
var crypted ;

// === Fonction de cryptage permettant de retourner une tableau (Code ascii crypté) =====
// ======================================================================================

function crypt( email )
{
	if(email.length == 0) return ;

	var cryptedWord="";
	for(var i=0;i<email.length;i++)
	{

		cryptedWord=cryptedWord.concat(",",(email.charCodeAt(i)+key)%255); 
	}
	return cryptedWord.substring(1,cryptedWord.length);
}

// ===================== Fonction de décryptage de l'email ==============================
// ======================================================================================

function getEmail( cryptedEmail )
{
	var email="";
	var tab = cryptedEmail.split(",");
	for(var i=0;i<tab.length;i++)
	{
                var charVal = tab[i];
                if(charVal-key < 0 ) charVal = Math.abs(charVal)+255;
		email=email.concat(String.fromCharCode((charVal-key)%255));
	}
	return email;
	
}

// ==================== On crypte l'email et on stock le résultat dans crypted ==========
// ======================================================================================

function main()
{
	crypted = crypt(email); // On peut également faire crypt("mailto"+email);
	alert("Valeur cryptée:"+crypted);
}

// ==================== On appelle la fonction pour envoyer un email ====================
// ======================================================================================

function doEvent()
{
	document.location.href="mailto:"+getEmail(crypted); 
			
}

</script>
</head>
<body onLoad="main();">
<a href="#" id="mecrire" onClick="doEvent()">mon email</a>
</body>
</html>

Conclusion :


Pour une utilisation efficace:
- Crypter d'abord votre email en locale (chez vous) et récupérer la valeur (par exemple grâce à une alerte).
- Inscriver la valeur dans une variable dans la page: exemple ici : crypted="136,131,136,131,84,136,131,136,131,66,122,134";
( Enlever la fonction crypt() et la fonction main() de ce script (puisqu'il ne sont plus utilisé) )

Note: Vous pouver également crypter "mailto" lorsque vous crypter votre email. Les robots les détectent.

A voir également

Ajouter un commentaire Commentaires
Messages postés
9
Date d'inscription
lundi 20 août 2007
Statut
Membre
Dernière intervention
21 août 2007

Que les robots arrivent a lire ça je n'y croit pas trop mais bon ..
et sinon ya toujours possibilité de compliquer le cryptage, en inversant les lettres par exemple :)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
selon certaines personnes, les bots sont capables de lire ce genre de choses.
ce qui est interessant, c'est de faire dans un langage serveur un truc genre :
afficher('toto@hotmail.com');
et avoir un affichage avec des choses gerne avec la background-color, idem avec display:none, et des commentaires, histoire de brouiller le mail, idem en jouant avec des tableaux et des positions de lettres sur differentes colones...
l'inconveniant etant pour le copier coller qui devient impossible
l'ideal pour le spam etant le formulaire qui pointe directement vers l'email (mais personne ne peut garder votre mail, et les gens y sont anonymes...)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.