Cryptage de texte

Contenu du snippet

Ce script permet de crypter efficacement du texte à l'aide d'une mot de passe. Après avoir rentré le mot de passe dans le champ "clé de cryptage" et le texte à crypter dans "texte en clair" il ne reste plus qu'à cliquer sur "crypter" et sur "décrypter" pour vérifier le bon déroulement du cryptage/décryptage !

Source / Exemple :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
<html>
	<head>
		<title>cryptage de texte à l'aide d'une clé secrète</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<script type="text/javascript" language="JavaScript">
<!--
var cle, phrase;
coordphrase=new Array();
coordphrase_cle=new Array();
newcoord=new Array();
coordcrypt=new Array();
alpha="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789àâéêèëîïôöçù',!?.;:=+-()/@%$*€ ";

function cryptage()
{
crypt="";
phrase_cle="";
var car=0;
phrase=document.fcrypt.acoder.value;
cle=document.fcrypt.clecryptage.value;
if (phrase != "" && cle != "")
{
for (var z=0; z<phrase.length; z++)
{
phrase_cle+=cle.charAt(car);
car++;
if (car==cle.length)
car=0;
}
for (var k=0; k<phrase.length; k++)
{
for (var p=0; p<alpha.length; p++)
{
if (phrase.charAt(k)==alpha.charAt(p))
coordphrase[k]=p;
if (phrase_cle.charAt(k)==alpha.charAt(p))
coordphrase_cle[k]=p;
}
newcoord[k]=coordphrase[k]+coordphrase_cle[k];
if (newcoord[k] > alpha.length-1)
newcoord[k]-=alpha.length;
crypt+=alpha.charAt(newcoord[k]);
}
document.fcrypt.sortie.value=crypt;
}
else
alert("il manque au moins un élément !");
}

function decryptage()
{
decrypt="";
phrase_cle="";
var car=0;
cle=document.fcrypt.clecryptage.value;
crypt=document.fcrypt.sortie.value;
if (cle != "" && crypt != "")
{
for (var o=0; o<crypt.length; o++)
{
for (var b=0; b<alpha.length; b++)
{
if (crypt.charAt(o)==alpha.charAt(b))
coordcrypt[o]=b;
}
}
for (var z=0; z<crypt.length; z++)
{
phrase_cle+=cle.charAt(car);
car++;
if (car==cle.length)
car=0;
}
for (var y=0; y<phrase_cle.length; y++)
{
for (var u=0; u<alpha.length; u++)
{
if (phrase_cle.charAt(y)==alpha.charAt(u))
coordcrypt[y]-=u;
if (coordcrypt[y] < 0)
coordcrypt[y]+=alpha.length;
}
}
for (var t=0; t<crypt.length; t++)
{
decrypt+=alpha.charAt(coordcrypt[t]);
}
document.fcrypt.decrypte.value=decrypt;
}
else
alert("il manque au moins un élément !");
}

function nettoyage()
{
document.fcrypt.acoder.value="";
document.fcrypt.clecryptage.value="";
document.fcrypt.sortie.value="";
document.fcrypt.decrypte.value="";
}
-->
		</script>
	</head>
	<body bgcolor="#7ad8f9">
		<h2 align="center">Petit utilitaire permettant de crypter/décrypter du texte en utilisant une clé</h2><hr width="75%" />
		<form name="fcrypt">
			CLE DE CRYPTAGE:
			<input type="password" size="15" name="clecryptage" />
			<input type="button" value="CRYPTER" onClick="cryptage();" />
			<input type="button" value="DÉCRYPTER" onClick="decryptage();" />
			<input type="button" value="EFFACER" onClick="nettoyage();" /><br /><br />
			TEXTE EN CLAIR<br />
			<textarea name="acoder" cols="130" rows="12"></textarea>
			<p></p>
			TEXTE CRYPTÉ<br />
			<textarea name="sortie" cols="130" rows="12"></textarea>
			<p></p>
			DECRYPTAGE / VERIFICATION DU CRYPTAGE<br />
			<textarea name="decrypte" cols="130" rows="12"></textarea>
		</form>
	</body>
</html>

Conclusion :


Pour un bon cryptage, il faut: n'utiliser dans la clé de cryptage et le texte que les caractères gérés, ne pas utiliser de tabulations ou de retours chariot dans le texte. Choisir une clé longue avec des chiffres, des lettres et des symboles gérés. Les caractères gérés sont: les lettres en minuscules et maj., les chiffres et les caractères suivants: '(!çà)-+/=:;?@éêèîô,.$*€ù%ïöë ainsi que l'espace (il s'agit de la chaîne "alpha" du script). Pour d'autres infos contactez moi via mon site perso.

A voir également

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.