Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * XOR
- * __________________________________________________
- *
- * Copyright © 2012 by namespace
- * __________________________________________________
- *
- * 21:01 | GMT + 1
- * 02.06.2012 | SATURDAY
- * __________________________________________________
- *
- * Credits:
- * ._ namespace
- */
- #if defined XOR
- #endinput
- #endif
- #define XOR
- #define MAX_CRYPT_STRING 256
- stock EncryptByXOR(source[], dest[], lenDest, key = -1)
- {
- new temp[MAX_CRYPT_STRING], keySet;
- if (key == -1)
- {
- keySet = false;
- key = random(256);
- }
- else
- {
- keySet = true;
- }
- for (new i = 0; i < strlen(source); i++)
- {
- format(temp, lenDest, "%s%s", temp, source[i] ^ key);
- }
- if (!keySet) format(temp, lenDest, "%s:%d", temp, key);
- format(dest, lenDest, "%s", temp);
- }
- stock DecryptByXOR(source[], dest[], lenDest, key = -1)
- {
- new temp[MAX_CRYPT_STRING], tempSource[MAX_CRYPT_STRING], realEncrypted[MAX_CRYPT_STRING], localKey;
- format(tempSource, sizeof(tempSource), "%s", source);
- if (key == -1)
- {
- new encryptedTemp[MAX_CRYPT_STRING];
- new keyTemp[MAX_CRYPT_STRING];
- new delimPos = strfind(tempSource, ":");
- format(encryptedTemp, sizeof(encryptedTemp), "%s", tempSource);
- format(keyTemp, sizeof(keyTemp), "%s", tempSource);
- strdel(encryptedTemp, delimPos, sizeof(keyTemp));
- strdel(keyTemp, 0, delimPos + 1);
- format(realEncrypted, sizeof(realEncrypted), "%s", encryptedTemp);
- localKey = strval(keyTemp);
- }
- else
- {
- format(realEncrypted, sizeof(realEncrypted), "%s", tempSource);
- localKey = key;
- }
- for (new i = 0; i < strlen(realEncrypted); i++)
- {
- format(temp, lenDest, "%s%s", temp, realEncrypted[i] ^ localKey);
- }
- format(dest, lenDest, "%s", temp);
- }
Advertisement
Add Comment
Please, Sign In to add comment