2013-05-08 3 views
2

Я пытаюсь получить доступ к .NET WebService, но у меня проблема с заголовком авторизации. У меня есть имя пользователя и пароль для авторизации, но мой пароль немного длинный, поэтому я не могу его отправить. Когда я попробую половину его в качестве пароля, я могу его отправить. Мой первый вопрос: как я могу отправить этот пароль на сервер?Base64 кодировка/декодирование на Android

String auth = "1234567890:123430A6F987AEED954215FFA84254FAD92ACD54"; 
String encodedAuth = org.kobjects.base64.Base64.encode(auth.getBytes()); 
//byte[] encodedAuth = android.util.Base64.encode(auth.getBytes(), Base64.NO_WRAP); 
String authHeader = "Basic " + encodedAuth ; 
headerPropertyList.add(new HeaderProperty("Authorization", authHeader)); 

Другой подход, который я пытался это отправить в виде массива байтов, используя:

byte[] encodedAuth = android.util.Base64.encode(auth.getBytes(), Base64.NO_WRAP); 

Но byte подписан в Java и без знака в C# поэтому разные значения создаются. Я также не могу найти решение для этой ситуации. Любая помощь будет оценена.

ответ

2

Чтобы решить эту проблему, я использовал Apache Common Codec вместо использования собственной кодировки base64 для Android. Apache Common Codec