Codage dur a dechiffrer

Contenu du snippet

Suite à une suggestion sur mon tutorial, (http://www.javascriptfr.com/tutoriaux/PROTEGER-PAGE-MOT-PASSE_431.aspx) j'ai décidé de créer ce petit code.
Il prend le prmier caractère d'une chaine et le note en fonction de sa position sur la chaine "char". il fait pareil jusqu'au dernier.
ensuite avec cette suite de chiffre, il prend le premier, le multiplie par le deuxième et l'ajoute au troisième. il fait pareil jusqu'a la fin.
l'avantage de ce codage, c'est que si jamais on fait le calcul inverse, il y aura plusieurs possibilitées. exemple :
16=(1*1+4)*3-1+1 ou (1*2+1)*5-2+1 ou (2*2+0)*2-1+3 etc...
ce qui rend l'opération inverse très longue a faire.
inconvénient ; plusieurs mot de passe peuvent marcher.

Source / Exemple :


function encoder(encodechaine)
{
	if(encodechaine.length>4)
	{
		var char="abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789-+*/²&é\"'(-è_çà)=~#{[|`\\^@]}$¤£*µù%^¨!§:;,? "
		var numberstring="";
		var encodedstring1="";
		var encodedstring2="";
		for(nb=0;nb<encodechaine.length;nb++)
		{
			numberstring+=char.indexOf(encodechaine.charAt(nb));
		}
		for(nb=0;nb<numberstring.length-5;nb++)
		{
			encodedstring1+=(n(nb)*n(nb+1)+n(nb+2))*n(nb+3)-n(nb+4)+n(nb+5);
		}	
		for(i=0;i<numberstring.length-5;i++)
		{
			encodedstring2+=(n(i)+n(i+4)*(n(i+2)+n(i+3))-n(i+5);
		}
		return encodedstring1+encodedstring2;
	}
	else
	{
		alert("chaine trop courte (minimum 5 caractères)");return null;
	}
}
var n=function(nombre){return numberstring.charAt(nombre)};

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.