begin process at 2010 02 10 10:45:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Effets

 > CRYPTAGE DE TEXTE

CRYPTAGE DE TEXTE


 Information sur la source

Note :
8,57 / 10 - par 7 personnes
8,57 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Effets Niveau :Débutant Date de création :23/03/2005 Date de mise à jour :25/03/2005 15:39:48 Vu :6 159

Auteur : olive92

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
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

  • <!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>
<!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.


 Historique

25 mars 2005 15:39:48 :
Ajout de nouveaux caractères dans la chaîne de gestion des caractères pour une meilleure compatibilité avec les caractères spéciaux.

 Sources du même auteur

Source avec Zip Source avec une capture JEU DES PAIRES
NOMBRES PARFAITS
Source avec une capture SUITE DE FIBONACCI
Source avec une capture DIVISEURS & NOMBRES PREMIERS
DEFILEMENT HORIZONTAL DE TEXTE

 Sources de la même categorie

Source avec Zip MOOTOOLTIP par Miky76
Source avec Zip Source avec une capture PAINTPIX (VERSION TESTE. EXPORTATION IMAGE POUR SITE WEB) par sitajony
FONCTION BLINK ( TESTÉE SOUS FF ) PORTABILITÉ IE OP ET GC EN... par xloadx
Source avec Zip Source avec une capture [DSI] DÉPLACEMENTS SUR IMAGES par Bul3
Source avec Zip Source avec une capture [ZI] ZOOM (LOUPE) SUR IMAGE par Bul3

Commentaires et avis

Commentaire de fatahfr le 24/03/2005 11:27:09

bjr,


ce systeme n est pas terrible franchement je ne vois pas l interet la page s ouvre normalment meme avec une clé

j ai peut etre oublier quelque chose ...

Commentaire de olive92 le 24/03/2005 19:22:26

oui tu as dû oublier quelque chose et je ne comprends même pas ton problème:

le but est de crypter un texte puis de le transmettre crypté via un mail par ex. à quelqu'un qui pourra le décoder via la clé (transmise d'une façon ou d'une autre) et cette page HTML...

Commentaire de coucou747 le 24/03/2005 20:04:34

tu utilises quel algorythme (t'as pas commenté, et même pas dis ça...)

Commentaire de chimelpremier le 25/03/2005 13:42:49

Bravo, vraiment éfficace. C'est le premier que je vois sur www.javascript.fr ou on ne peut pas trouver le code dans le source de la page.
J'ai du remplacer charset=utf-8 par iso-8859-1 pour que ça fonctionne sur Firefox.

Dans un mèl Outlock Express, ça fonctionne également très bien.

Commentaire de olive92 le 25/03/2005 14:40:57

Le cryptage est basé sur la grille de Vigenère.
L'inconvénient de cette première version vient de la lettre "a". Il faut éviter de trop l'utiliser dans la clé de cryptage; si l'on prends par ex. "aaaa" comme clé le texte ne sera pas crypté.
Je vais essayer de corriger le problème bientôt ;-)

Pour le charset:
J'ai testé le script sur plusieurs navigateurs Mac mais seulement sur IE6 pour Windows...

Commentaire de olive92 le 25/03/2005 14:41:51

Le cryptage est basé sur la grille de Vigenère. Bien sûr ça ne vaut pas l'AES 256 bits mais pour des mails classiques ça peut suffir...
L'inconvénient de cette première version vient de la lettre "a". Il faut éviter de trop l'utiliser dans la clé de cryptage; si l'on prends par ex. "aaaa" comme clé le texte ne sera pas crypté.
Je vais essayer de corriger le problème bientôt ;-)

Pour le charset:
J'ai testé le script sur plusieurs navigateurs Mac mais seulement sur IE6 pour Windows...

Commentaire de coucou747 le 26/03/2005 09:42:09

pour ce style de codage, faut que le pass soit de la même taille que le texte...

Commentaire de picouf le 07/03/2006 20:22:55

Je ne comprend pas pourquoi mais quand j'ouvre ton programme, que ce soit avec firefox ou internet explorer, je rentre une clé et une phrase dans le premier textarea, je clique sur crypter et rien ne se passe. Internet explorer met "objet attendu"

Est ce que tu sais pourquoi ?

Commentaire de olive92 le 08/03/2006 11:08:24

Non je ne vois pas pourquoi. vérifie que le javascript est actif sur ton navigateur (c'est plus facile avec Firefox) et que tu as bien le fichier sous la forme .html sinon, donnes-moi ton email et je te l'enverrai.

Commentaire de picouf le 08/03/2006 21:28:42

C bon g réussi à le faire marcher
Merci

Commentaire de korrigan33 le 29/06/2007 15:21:00

Pour ceux que ça interesse, (je sait que ce n'est pas le sujet mais bon) j'ai converti la fonction de décryptage en php, ça peut servir pour des script javascript/php (une phrase encodée via javascript peut etre décodée en php), si vous voulez convertir celel de cryptage je ne l'ai pas fait n'en ayant pas l'utilité.

Fonction décryptage en php :
<?
function decryptage($crypt, $cle){
$alpha="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789àâéêèëîïôöçù',!?.;:=+-()/@%$*? ";
$decrypt="";
$phrase_cle="";
$car=0;
if ($cle != "" and $crypt != ""){
for ($o=0; $o < strlen($crypt); $o++){
for ($b=0; $b < strlen($alpha); $b++){
if (substr($crypt, $o, 1) == substr($alpha, $b, 1)){
$coordcrypt[$o] = $b;
}
}
}
for ($z=0; $z < strlen($crypt); $z++){
$phrase_cle .= substr($cle, $car, 1);
$car++;
if ($car == strlen($cle)){
$car = 0;
}
}
for ($y=0; $y < strlen($phrase_cle); $y++){
for ($u=0; $u < strlen($alpha); $u++){
if (substr($phrase_cle, $y, 1) == substr($alpha, $u ,1)){
$coordcrypt[$y] -= $u;
}
if ($coordcrypt[$y] < 0){
$coordcrypt[$y] += strlen($alpha);
}
}
}
for ($t=0; $t<strlen($crypt); $t++){
$decrypt .= substr($alpha, $coordcrypt[$t], 1);
}
return $decrypt;
}else{
return "ERROR : 'chaine vide'";
}
}
?>

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales