Xor pour String en Java

Fermé
Alex - 30 mars 2012 à 16:16
Bonjour,

je voudrais faire du cryptage et décryptage de chaines de caractères (juste les alphabets en minuscules) voilà la partie de décrypatge :

StringBuffer data = new StringBuffer("");
		for (int k = 0; k < key.length(); k++) {
			int code = ( (encryptedData.charAt(k)-97) ^ (key.charAt(k)-97) )%26 + 97;
			System.out.println(code + " " + (char) code);
			data.append((char) code);
		}

en fait je calcule le ET logique en base 26 , après je transforme au caractère correspondant
mais il ne marche pas !

la partie de cryptage et en javascript , est la suivante :

function SecurityData(){
	that = this;
	
}
SecurityData.prototype.keyGeneration = function(nbcar)
	{
	var ListeCar = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
	var Chaine ='';
	for(var i = 0; i < nbcar; i++)
	{
		Chaine = Chaine + ListeCar[Math.floor(Math.random()*ListeCar.length)];
	}
	return Chaine;
};

SecurityData.prototype.encrypte = function(data)
{
	var stringLength = data.length;
	var key = that.keyGeneration(stringLength);
	var encoderString = new Array();
	//var dataUpper = data.toUpperCase();
	//console.log(dataUpper)
	for(var j=0 ; j<stringLength ; j++)
	{
		
		encoderString.push(String.fromCharCode(((data.charCodeAt(j)-97) ^ (key.charCodeAt(j)-97))%26 + 97 )) ;
	}
	
	return encoderString.join("")+key;
	
};


toute proposition sera le bienvenue ! et merci d'avance pour votre aide :)
A voir également: