begin process at 2012 02 11 23:54:22
  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 :7 593

Auteur : olive92

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
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 Source avec une capture SHOWMAPAREA par phidelum
DHTML IE FILTRE DÉGRADÉ (OUTIL HTML POUR DÉVELOPPEUR) par internetdev
Source avec Zip ANIMATION DU TEXTE par brennal
Source avec Zip Source avec une capture EFFET RAYONS DU SOLEIL par tefa24600
TAILLE DE TEXTE EN FONCTION DE LA RÉSOLUTION par tefa24600

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 administrateur CS

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 administrateur CS

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'";
}
}
?>

Commentaire de goldsoft le 13/04/2010 17:38:55

merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,839 sec (3)

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