aboutsummaryrefslogtreecommitdiff
path: root/examples/GuiClient/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/GuiClient/utils.cpp')
-rw-r--r--examples/GuiClient/utils.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/examples/GuiClient/utils.cpp b/examples/GuiClient/utils.cpp
index 9b115d6d..98c02da6 100644
--- a/examples/GuiClient/utils.cpp
+++ b/examples/GuiClient/utils.cpp
@@ -155,3 +155,18 @@ bool isValidBareJid(const QString& bareJid)
QRegExp re("^[^@]+@[^@]+$");
return re.exactMatch(bareJid);
}
+
+QByteArray calculateXor(const QByteArray& data, const QByteArray& key)
+{
+ if(key.isEmpty())
+ return data;
+
+ QByteArray result;
+ for(int i = 0 , j = 0; i < data.length(); ++i , ++j)
+ {
+ if(j == key.length())
+ j = 0;
+ result.append(data.at(i) ^ key.at(j));
+ }
+ return result;
+}