Cryptage d'un texte complexe, saut de ligne et caractères spéciaux inclus

4/5 (17 avis)

Vue 12 635 fois - Téléchargée 398 fois

Description

Script permettant de crypter un texte complexe.
ATTENTION :: NIVEAU SECURITÉ C'EST PAS AU TOP HEIN, vous vous en doutez, j'ai fais ça quand je débutait, donc pas de moquage !!
(d'ailleur c'est meme loin d'etre securisé!)
J'ai separé la partie html et la pârtie Javascript pour des raisons... disons qu'il n'y a pas de raison !!
Je met d'abord la partie HTML puis je javascript en dessous.
Pour plus de facilité, telecharger le zip et lancer cryptage.html

Source / Exemple :


// Script par Gagou9 [gagou9_boss@hotmail.com]
// Si vous utilisez ce script, mettez un lien pour mon site s'il vous plait !
// Merci
// nom du fichier : fonctions.js

function crypt(original) {
if(original!=""){
  if(original.indexOf('^')=='-1'){

	original_petit = original.toLowerCase()
	original_escaped = escape(original_petit);
	original_saut_de_ligne_crypte=original_escaped.split('%0D%0A').join('^');
	original_fini = unescape(original_saut_de_ligne_crypte);

// alert('Original :\n' + original_petit)                                                                             \
// alert('Original escaped :\n' + original_escaped)                                                          \
// alert('Original avec les sauts de ligne cryptés :\n' + original_saut_de_ligne_crypte)  |> sert a afficher la progression du pre-cryptage
// alert('Orignal fini, reste plus qu\'a crypter :\n' + original_fini)                                     /

	c=original_fini.length;
	var j = new Array();
	for (i=0;i<c;i++) {
	j[i] = original_fini.substring(i,i+1);
	switch(j[i]){
		case 'ê': j[i]='33'
	        	break;
		case 'û': j[i]='22'
	        	break;
		case 'è': j[i]='87'
			break;
		case '°': j[i]='85'
			break;
		case '`': j[i]='89'
			break;
		case 'a': j[i]='w5'
			break;
		case 'b': j[i]='z9'
			break;
		case 'c': j[i]='8h'
			break;
		case 'd': j[i]='5r'
			break;
		case 'e': j[i]='q4'
			break;
		case 'f': j[i]='if'
			break;
		case 'g': j[i]='v5'
			break;
		case 'h': j[i]='1c'
			break;
		case 'i': j[i]='1h'
			break;
		case 'j': j[i]='b0'
			break;
		case 'k': j[i]='k8'
			break;
		case 'l': j[i]='5m'
			break;
		case 'm': j[i]='a2'
			break;
		case 'n': j[i]='z5'
			break;
		case 'o': j[i]='st'
			break;
		case 'p': j[i]='34'
			break;
		case 'q': j[i]='d5'
			break;
		case 'r': j[i]='s9'
			break;
		case 's': j[i]='b4'
			break;
		case 't': j[i]='dm'
			break;
		case 'u': j[i]='h5'
			break;
		case 'v': j[i]='b5'
			break;
		case 'w': j[i]='tt'
			break;
		case 'x': j[i]='r9'
			break;
		case 'y': j[i]='df'
			break;
		case 'z': j[i]='j4'
			break;
		case '0': j[i]='l4'
			break;
		case '1': j[i]='q5'
			break;
		case '2': j[i]='w8'
			break;
		case '3': j[i]='u5'
			break;
		case '4': j[i]='he'
			break;
		case '5': j[i]='y2'
			break;
		case '6': j[i]='t4'
			break;
		case '7': j[i]='il'
			break;
		case '8': j[i]='t7'
			break;
		case '9': j[i]='kf'
			break;
		case '.': j[i]='h1'
			break;
		case '?': j[i]='gh'
			break;
		case '!': j[i]='h4'
			break;
		case 'é': j[i]='4j'
			break;
		case ',': j[i]='84'
			break;
		case '(': j[i]='41'
			break;
		case ')': j[i]='21'
			break;
		case 'à': j[i]='5b'
			break;
		case '@': j[i]='4d'
			break;
		case '-': j[i]='2n'
			break;
		case '+': j[i]='pl'
			break;
		case '<': j[i]='5j'
			break;
		case '>': j[i]='50'
			break;
		case ' ': j[i]='99'
			break;
		case ':': j[i]='t9'
			break;
		case ';': j[i]='az'
			break;
		case '/': j[i]='00'
			break;
		case '§': j[i]='01'
			break;
		case 'ù': j[i]='08'
			break;
		case '%': j[i]='05'
			break;
		case '*': j[i]='04'
			break;
		case 'µ': j[i]='07'
			break;
		case '?': j[i]='03'
			break;
		case 'ë': j[i]='60'
			break;
		case 'ï': j[i]='06'
			break;
		case '$': j[i]='02'
			break;
		case '£': j[i]='07'
			break;
		case '?': j[i]='09'
			break;
		case '{': j[i]='nn'
			break;
		case '}': j[i]='g8'
			break;
		case '=': j[i]='eg'
			break;
		case '[': j[i]='jc'
			break;
		case ']': j[i]='cj'
			break;
		case 'ç': j[i]='éè'
			break;
		case '\\': j[i]='èé'
			break;
		case '|': j[i]='qq'
			break;
		case '\'': j[i]='ff'
			break;
		case '\"': j[i]='çà'
			break;
		case '#': j[i]='àç'
			break;
		case '~': j[i]='éé'
			break;
		case '&': j[i]='èè'
			break;
		case '^': j[i]='an'
			break;
		case '_': j[i]='ti'
			break;
		default : alert('Erreur dans le Switch\nCaractère non pris en charge : \''+j[i]+'\'\nVeuillez le remplacer !\nCe caractère sera codé en \'88\'')
			  j[i]='88'
		}
	document.forms[0].crypte.value += j[i]
	}
  }
  else{ alert('\nJ\'ai dit PAS DE CHAPEAU') }
}
else{document.forms[0].crypte.value=""}
}
function copy2Clipboard(obj)
	{
  	var textRange = document.body.createTextRange();
  	textRange.moveToElementText(obj);
  	textRange.execCommand("Copy");
	}
function decrypt(b) {
if(b!=""){
	b_long=b.length;
	b_lower=b.toLowerCase()
	var k = new Array();
	for (z=0;z<b_long;z=z+2) {
	k[z] = b_lower.substring(z,z+2);
	switch(k[z]){
		case 'w5': k[z]='a'
			break;
		case 'z9': k[z]='b'
			break;
		case '8h': k[z]='c'
			break;
		case '5r': k[z]='d'
			break;
		case 'q4': k[z]='e'
			break;
		case 'if': k[z]='f'
			break;
		case 'v5': k[z]='g'
			break;
		case '1c': k[z]='h'
			break;
		case '1h': k[z]='i'
			break;
		case 'b0': k[z]='j'
			break;
		case 'k8': k[z]='k'
			break;
		case '5m': k[z]='l'
			break;
		case 'a2': k[z]='m'
			break;
		case 'z5': k[z]='n'
			break;
		case 'st': k[z]='o'
			break;
		case '34': k[z]='p'
			break;
		case 'd5': k[z]='q'
			break;
		case 's9': k[z]='r'
			break;
		case 'b4': k[z]='s'
			break;
		case 'dm': k[z]='t'
			break;
		case 'h5': k[z]='u'
			break;
		case 'b5': k[z]='v'
			break;
		case 'tt': k[z]='w'
			break;
		case 'r9': k[z]='x'
			break;
		case 'df': k[z]='y'
			break;
		case 'j4': k[z]='z'
			break;
		case 'l4': k[z]='0'
			break;
		case 'q5': k[z]='1'
			break;
		case 'w8': k[z]='2'
			break;
		case 'u5': k[z]='3'
			break;
		case 'he': k[z]='4'
			break;
		case 'y2': k[z]='5'
			break;
		case 't4': k[z]='6'
			break;
		case 'il': k[z]='7'
			break;
		case 't7': k[z]='8'
			break;
		case 'kf': k[z]='9'
			break;
		case 'h1': k[z]='.'
			break;
		case 'gh': k[z]='?'
			break;
		case 'h4': k[z]='!'
			break;
		case '4j': k[z]='é'
			break;
		case '84': k[z]=','
			break;
		case '41': k[z]='('
			break;
		case '21': k[z]=')'
			break;
		case '5b': k[z]='à'
			break;
		case '4d': k[z]='@'
			break;
		case '2n': k[z]='-'
			break;
		case '5j': k[z]='<'
			break;
		case '50': k[z]='>'
			break;
		case '99': k[z]=' '
			break;
		case 't9': k[z]=':'
			break;
		case 'az': k[z]=';'
			break;
		case '00': k[z]='/'
			break;
		case '01': k[z]='§'
			break;
		case '08': k[z]='ù'
			break;
		case '05': k[z]='%'
			break;
		case '04': k[z]='*'
			break;
		case '07': k[z]='µ'
			break;
		case '03': k[z]='?'
			break;
		case '60': k[z]='ë'
			break;
		case '06': k[z]='ï'
			break;
		case '02': k[z]='$'
			break;
		case '07': k[z]='£'
			break;
		case '09': k[z]='?'
			break;
		case 'nn': k[z]='{'
			break;
		case 'g8': k[z]='}'
			break;
		case 'eg': k[z]='='
			break;
		case 'jc': k[z]='['
			break;
		case 'cj': k[z]=']'
			break;
		case 'éè': k[z]='ç'
			break;
		case 'èé': k[z]='\\'
			break;
		case 'qq': k[z]='|'
			break;
		case 'ff': k[z]='\''
			break;
		case 'çà': k[z]='\"'
			break;
		case 'àç': k[z]='#'
			break;
		case 'éé': k[z]='~'
			break;
		case 'èè': k[z]='&'
			break;
		case 'an': k[z]='\n'
			break;
		case 'ti': k[z]='_'
			break;
		case 'pl': k[z]='+'
			break;
		case '89': k[z]='`'
			break;
		case '87': k[z]='è'
			break;
		case '85': k[z]='°'
			break;
		case '33': k[z]='ê'
			break;
		case '22': k[z]='û'
			break;
		case '88': alert('\n\n\n\n\n\n\n\n        Un code \'88\' a été retourné,       \n        Cela est du à un caractère non codé.\t\t\n\n\n\n\n\n\n\n')
		    break;
		default : alert('Erreur dans le Switch ou\nCode non reconnu : \''+k[z]+'\'\nVeuillez vérifier votre code!');
		}
	document.forms[0].crypte.value += k[z]
	}
}
else{document.forms[0].crypte.value="vide"}
}

//Fin du code javascript

Conclusion :


Pour modifier la table de cryptage il faut changer les valeurs du switch (attention il faut mettre les memes valeurs dans les 2 : celui pour crypter et celui pour decrypter !!)
mon site n'est plus valide.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
HRdesalpes Messages postés 64 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 29 juillet 2006
27 sept. 2004 à 13:17
rum.... Aprés le </html> on rajoute <script> et a la fin </script> car le resultat est pas super sans.....
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 sept. 2004 à 22:49
simle question que me dictait mon esprit au moment ou j'ai vu un switch : "tu cryptes avec quel algorythme ? selon ce que je vois c'est du remplacement pur et simple, se décrypte aussi fasilement que la méthode césarienne..."

bon, j'ai donné le code C pour casser ton codage dans une source php alors cherhes un autre algorythme, ça c'ets pas vraiment efficace...

j'ai vu une fois la méthode rsa apliquée au javascript, c'est déja plus efficace, même si en js, on ne peut pas exploiter tt la puissance du rsa...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 oct. 2004 à 20:39
Mais pourquois tu réponds pas ??? c'ets quand même ta source !
cs_gagou9 Messages postés 126 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 20 novembre 2007
29 oct. 2004 à 14:18
dsl de pa avoir rep
je croyai tavoir envoyer un mail
donc je voulai savoir ou ta mi le code en c pour decripter

mai apparament ta pa vu que on pe changer les valeur, c'est fai expres pour ladapter.
je sui entrain d'en faire une avec une clé de cryptage en md5, donc inclusion de php dans le tou. mai tu sai jai ancore bcp a aprendre car sa fai qun an que je fai du js et qelque moi que je fai du php, et j'ai que 16 ans !! je trouve que c deja bien pour mon age !!
si ta une source plu interessant je sui preneur !!
merci
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 oct. 2004 à 18:19
j'ai 15 ans et demi...

même si tu changes l'ordre, ça reste du remplacement pur et simple, on prends ensuite un test normal, et on repères le pourcentage de chaque lettre présent dans ce nouveau texte, ensuite, il suffit de remplacer dans ton fichier crypté le caractère qui apparait le plus de fois par celui que l'on aura trouvé dans l'aute texre, et on continue avec le second....
ect, c'ets la méthode de césar, masi c'est inéficace...

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.