XORKey
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials | User-Defined Functions | Void's User Page |
User-Defined Function: key uXORKey( string vStrOne, string vStrTwo );
Returns a key that is vStrOne bitwise XOR'd with vStrTwo.
- vStrOne: source key
- vStrTwo: source key
Simple Code:
- LSO: 528 bytes
- MONO: 2048 bytes
key uXORKey( string vStrOne, string vStrTwo ){
vStrOne = (string)llParseString2List( vStrOne, ["-"], [] );
vStrTwo = (string)llParseString2List( vStrTwo, ["-"], [] );
string vStrHex = "0123456789abcdef";
integer vIdxChr 0xFFFFFFE0; //-- (-32)
integer vIdxHex;
do{
vStrHex += llGetSubString( vStrHex,
vIdxHex = (integer)("0x" + llGetSubString( vStrOne, vIdxChr, vIdxChr )) ^
(integer)("0x" + llGetSubString( vStrTwo, vIdxChr, vIdxChr )),
vIdxHex );
}while (++vIdxChr);
return
(key)(llGetSubString( vStrHex, 0xFFFFFFE0, 0xFFFFFFE7 ) + //-- (-32, -25)
"-" + llGetSubString( vStrHex, 0xFFFFFFE8, 0xFFFFFFEB ) + //-- (-24, -21)
"-" + llGetSubString( vStrHex, 0xFFFFFFEC, 0xFFFFFFEF ) + //-- (-20, -17)
"-" + llGetSubString( vStrHex, 0xFFFFFFF0, 0xFFFFFFF3 ) + //-- (-16, -13)
"-" + llGetSubString( vStrHex, 0xFFFFFFF4, 0xFFFFFFFF )); //-- (-12, -1)
}
/*//-- Anti-License Text --//*/
/*// Contributed Freely to the Public Domain without limitation. //*/
/*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/
/*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/
/*//-- --//*/
Caveats
- This function does not check input key validity