diff options
Diffstat (limited to 'src/eu/siacs/conversations/utils/SASL.java')
-rw-r--r-- | src/eu/siacs/conversations/utils/SASL.java | 24 |
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 00000000..cda1f97b --- /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); + } +} |