Crypteur / décrypteur de texte avec clé de cryptage

Soyez le premier à donner votre avis sur cette source.

Vue 18 772 fois - Téléchargée 938 fois

Description

Donc voilà ma deuxième source :
C'est un crypteur / décrypteur de mot de passe (je dit "crypteur"... mais c'est un grand mot quand même :))
Il utilise une clé de cryptage choisi par l'utilisateur pour crypter le texte voulut.
On peut choisir d'avoir le résultats sour forme de chiffres ou sous forme de caractères (c'est pour le fun :p mais sous formes de caractères le résultat est beaucoup plus court donc plus pratique, surtout que le temps de cryptage / décryptage est proportionnel à la taille du texte entré (car le code analyse le texte caractère par caractère).

Le principe n'est pourtant pas très compliqué (mais très éfficace :)) :
On entre dans un tableau les valeurs ASCII de chaques caractères de la clé, on analyse le texte entré et on récupère chaque code ASCII du texte, enfin on ajoute tour a tour un une valeur ASCII de la clé à une valeur du texte ! Voila c'est "crypté" !
Pour renforcer la sécurité, entre chaque caractère du texte crypté on ajoute un caractère aléatoir qui n'apparaitra pas lors du décryptage :)

Tous est expliqué dans le code, je me suis éfforcer de le commenter au maximum !

Source / Exemple :


///////////////////////////////////////////////////////////////////////////////////
/////////////                                                         /////////////
/////////////      Crypteur / Décrypteur de texte by DarkGoovyX       /////////////
/////////////                                                         /////////////
///////////////////////////////////////////////////////////////////////////////////
//
//
//
//Focntion qui permet de crypter le texte sous forme de chiffres :
crypte = function (txt, cle) {
	result.text = "";
	// On créé un nouveau tableu qui contiendra les code ASCII de la cle :
	lesCle = new Array();
	// On complète le tableau :
	for (i=0; i<cle.length; i++) {
		lettreCle = cle.substr(i, 1);
		algoASCII = ord(lettreCle);
		lesCle.push(algoASCII);
	}
	j = 0;
	for (i=0; i<txt.length; i++) {
		// On définit une lettre au hasard placer entre chaque lettre sous forme crypté : (renforce le cryoptage :))
		lettreFactice = string.fromCharCode(random(256));
		// On selectionne la lettre a analyser :
		lettre = txt.substr(i, 1);
		// On la converti en code ASCII :
		codeASCII = ord(lettre);
		// On crypte cette lettre en ajoutan a son code ASCII, celui d'une des lettres de la cle :
		codeCrypter = Number(codeASCII)+Number(lesCle[j]);
		// On passe au code ASCII de la cle suivant :
		j++;
		// Si on à passer toutes les lettres de la cle en vu, on recommence :
		if (j == (lesCle.length-1)) {
			j = 0;
		}
		// On s'arange pour que quelque soit le code ASCII, il comporte 3 chiffre au final :
		if (codeCrypter<10) {
			codeASCIIEncode = "00"+codeCrypter;
		} else if (codeCrypter<100) {
			codeASCIIEncode = "0"+codeCrypter;
		} else {
			codeASCIIEncode = codeCrypter;
		}
		// On ajoute le code modifier ainsi que la lettre factice au resultat :
		result.text += codeASCIIEncode;
		result.text += lettreFactice;
	}
};
//
//
//Fonction qui permet de décrypter un texte crypter avec un cryotage type lettre :
decrypte = function (txt, cle) {
	result.text = "";
	// Pareil que précédement :
	lesCle = new Array();
	// On complète le tableau :
	for (i=0; i<cle.length; i++) {
		lettreCle = cle.substr(i, 1);
		algoASCII = ord(lettreCle);
		lesCle.push(algoASCII);
	}
	// On récupère un à un les code ASCII du texte encrypté :
	j = 0;
	// Le i += 4 permet de paC de série de 3 en série de troi tout en sautant le caractère factice :
	for (i=0; i<(txt.length); i += 4) {
		codeCrypter = txt.substr(i, 3);
		// On converti le code rencontré en caractère :
		lettreCrypter = string.fromCharCode(codeCrypter);
		// On transforme le code du caractère cryopter en code décrypter :
		codeLettreDecrypter = Number(codeCrypter)-Number(lesCle[j]);
		lettreDecrypter = string.fromCharCode(codeLettreDecrypter);
		// On l'ajoute à la liste :
		result.text += lettreDecrypter;
		j++;
		if (j == (lesCle.length-1)) {
			j = 0;
		}
	}
};
//Pour les deux fonctionsuivantes, le principe est le même que pour les précédentes, je ne recommente donc pas tout :)
crypteurLettre = function (txt, cle) {
	result.text = "";
	// On créé un nouveau tableu qui contiendra les code ASCII de la cle :
	lesCle = new Array();
	// On complète le tableau :
	for (i=0; i<cle.length; i++) {
		lettreCle = cle.substr(i, 1);
		algoASCII = ord(lettreCle);
		lesCle.push(algoASCII);
	}
	j = 0;
	for (i=0; i<txt.length; i++) {
		lettreFactice = string.fromCharCode(random(256));
		// On selectionne la lettre a analyser :
		lettre = txt.substr(i, 1);
		// On la converti en code ASCII :
		codeASCII = ord(lettre);
		// On crypte cette lettre en ajoutan a son code ASCII, celui d'une des lettres de la cle :
		codeCrypter = Number(codeASCII)+Number(lesCle[j]);
		// On passe au code ASCII de la cle suivant :
		j++;
		// Si on à passer toutes les lettres de la cle en vu, on recommence :
		if (j == (lesCle.length-1)) {
			j = 0;
		}
		lettreCrypter = string.fromCharCode(codeCrypter);
		// trace(codeASCIIEncode);
		result.text += lettreCrypter;
		result.text += lettreFactice;
	}
};
//
decrypteurLettre = function (txt, cle) {
	result.text = "";
	lesCle = new Array();
	// On complète le tableau :
	for (i=0; i<cle.length; i++) {
		lettreCle = cle.substr(i, 1);
		algoASCII = ord(lettreCle);
		lesCle.push(algoASCII);
	}
	// On récupère un à un les code ASCII du texte encrypté :
	j = 0;
	for (i=0; i<(txt.length); i += 2) {
		codeCrypter = txt.substr(i, 1);
		lettreCrypter = ord(codeCrypter);
		codeLettreDecrypter = Number(lettreCrypter)-Number(lesCle[j]);
		lettreDecrypter = string.fromCharCode(codeLettreDecrypter);
		result.text += lettreDecrypter;
		j++;
		if (j == (lesCle.length-1)) {
			j = 0;
		}
	}
};
//
//Actio nsur le bouton "traiter" :
//
bt_valide.onRelease = function() {
	//Si la clé est définis :
	if (_root.cle !== "" and _root.cle !== undefined) {
		//Si cryptageLettre est coché :
		if (cryptageLettre.getState() == true) {
			//Si une des deux "action" est coché :
			if (crypt.getState() == true) {
				crypteurLettre(_root.texte_a_traiter, _root.cle);
			} else if (decrypt.getState() == true) {
				decrypteurLettre(_root.texte_a_traiter, _root.cle);
			} else {
				result.text = "";
				result.text = "Il faut choisir une action à effectuer";
			}
			//Si cryptageChifreest coché :
		} else if (cryptageChiffres.getState() == true) {
			//Si une des deux "action" est coché :
			if (crypt.getState() == true) {
				crypte(_root.texte_a_traiter, _root.cle);
			} else if (decrypt.getState() == true) {
				decrypte(_root.texte_a_traiter, _root.cle);
			} else {
				result.text = "";
				result.text = "Il faut choisir une action à effectuer";
			}
		} else {
			result.text = "";
			result.text = "Il faut choisir un type de cryptage";
		}
	} else {
		result.text = "";
		result.text = "Il manque la clé de cryptage";
	}
};

Conclusion :


J'ai conscience que le code est un peu long mais deux fonctions sont facultatives, à vous d'en faire ce que vous voulez :)
Sans la clé il est impossible de décrypter quoi que se soit.
Attention au trop long texte, le cryptage risque de prendre un peu de temps lol

PS : désolé pour l'emplois un peu abusif du mot "cryptage" lol ;)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
110
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
2 octobre 2006

non, ce n'est pas important que cela soit copier ou non..mais j'ai tester ton prog et lorsque je met un texte comme par exemple :ta source et bien sur ton prog il ne me remet pas tout le texte complet..essai en copiant le code de ta source dans le texte à crypter et tu verra qu'il ne decrypte pas correctement ton texte en entier...et essai ma source avec le meme texte ..tu comprendra
Messages postés
13
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
14 mars 2006

Je l'ai pas pomper sur toi !! j'avais même pas vuecette source :s
Mais le ressemblancest frapente !! J'ai fait le code de A à Z et seul, désoler si tu croi que je t'ai recopier :$
Je connaissai pas l'éxistence de ta srouce je t'assure

++
Messages postés
110
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
2 octobre 2006

Messages postés
13
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
14 mars 2006

Merci :):)
Messages postés
396
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
13 novembre 2009

Ca fonctionne Bien !!!
Cé cool
Et c'est clair

C'est Tip Top tous ca !!!
Afficher les 6 commentaires

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.