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

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

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.