aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/utils/CryptoHelper.java
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2014-03-09 12:58:29 +0100
committerDaniel Gultsch <daniel@gultsch.de>2014-03-09 12:58:29 +0100
commit91130612d4351cf79b4d357a8c6b08659de59cd7 (patch)
treece334fafa3bc86fdc1f7a12933533b07be14a5a0 /src/eu/siacs/conversations/utils/CryptoHelper.java
parentd543d377b713db99aab1f03f5e45c8b46b4b4fa0 (diff)
cleanup
Diffstat (limited to '')
-rw-r--r--src/eu/siacs/conversations/utils/CryptoHelper.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/eu/siacs/conversations/utils/CryptoHelper.java b/src/eu/siacs/conversations/utils/CryptoHelper.java
index 6e606fa1..ebbbd967 100644
--- a/src/eu/siacs/conversations/utils/CryptoHelper.java
+++ b/src/eu/siacs/conversations/utils/CryptoHelper.java
@@ -1,5 +1,7 @@
package eu.siacs.conversations.utils;
+import android.util.Base64;
+
public class CryptoHelper {
final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
public static String bytesToHex(byte[] bytes) {
@@ -11,4 +13,22 @@ public class CryptoHelper {
}
return new String(hexChars);
}
+ public static String saslPlain(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);
+ }
}