aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/utils/SASL.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/eu/siacs/conversations/utils/SASL.java')
-rw-r--r--src/eu/siacs/conversations/utils/SASL.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/eu/siacs/conversations/utils/SASL.java b/src/eu/siacs/conversations/utils/SASL.java
new file mode 100644
index 000000000..cda1f97be
--- /dev/null
+++ b/src/eu/siacs/conversations/utils/SASL.java
@@ -0,0 +1,24 @@
+package eu.siacs.conversations.utils;
+
+import android.util.Base64;
+
+public class SASL {
+ public static String plain(String username, String password) {
+ byte[] userBytes = username.getBytes();
+ int userLenght = userBytes.length;
+ byte[] passwordBytes = password.getBytes();
+ byte[] saslBytes = new byte[userBytes.length+passwordBytes.length+2];
+ saslBytes[0] = 0x0;
+ for(int i = 1; i < saslBytes.length; ++i) {
+ if (i<=userLenght) {
+ saslBytes[i] = userBytes[i-1];
+ } else if (i==userLenght+1) {
+ saslBytes[i] = 0x0;
+ } else {
+ saslBytes[i] = passwordBytes[i-(userLenght+2)];
+ }
+ }
+
+ return Base64.encodeToString(saslBytes, Base64.DEFAULT);
+ }
+}