B-Mantis
%Europe/Berlin %793 %2009, 19:02
EDIT::
sorry, ik zit echt al een half uur met dit 'probleem', ik post het, en ik vind de oplossing:
ipv:
if (index > string.length) return "";
moest het zijn:
if (index >= string.length) return "";
ik ben erachter gekomen door "bob".length en encrypt("bob").length te tracen.
/EDIT
Hey,
Ik heb een functie die een string char voor char encrypt:
private function encrypt(string:String):String {
return encryptString(string, 0);
function encryptString(string:String, index:uint):String {
if (index > string.length) return "";
return String.fromCharCode(string.charCodeAt(index) ^ ENCRYPTION_KEY) + encryptString(string, index+1);
}
}
ENCRYPTION_KEY is van het type uint en ziet eruit als 0xFFFF (16 bits)
nu een paar traces:
trace(encrypt(encrypt("bob")), "bob"); //bob bob
trace(encrypt(encrypt("bob")) == "bob"); //false
kan iemand me uitleggen waarom dit gebeurt? Ik dacht zelf dat een string een soort sluit-teken nodig heeft, zoals "\0", maar dit leek niet te helpen.. Ik heb ook al geprobeert "bob".substring() te vergelijken, maar werkt allemaal niet..
sorry, ik zit echt al een half uur met dit 'probleem', ik post het, en ik vind de oplossing:
ipv:
if (index > string.length) return "";
moest het zijn:
if (index >= string.length) return "";
ik ben erachter gekomen door "bob".length en encrypt("bob").length te tracen.
/EDIT
Hey,
Ik heb een functie die een string char voor char encrypt:
private function encrypt(string:String):String {
return encryptString(string, 0);
function encryptString(string:String, index:uint):String {
if (index > string.length) return "";
return String.fromCharCode(string.charCodeAt(index) ^ ENCRYPTION_KEY) + encryptString(string, index+1);
}
}
ENCRYPTION_KEY is van het type uint en ziet eruit als 0xFFFF (16 bits)
nu een paar traces:
trace(encrypt(encrypt("bob")), "bob"); //bob bob
trace(encrypt(encrypt("bob")) == "bob"); //false
kan iemand me uitleggen waarom dit gebeurt? Ik dacht zelf dat een string een soort sluit-teken nodig heeft, zoals "\0", maar dit leek niet te helpen.. Ik heb ook al geprobeert "bob".substring() te vergelijken, maar werkt allemaal niet..