Android上的Base64编码/解码

时间:2013-05-08 08:06:45

标签: c# java android base64

我正在尝试访问.NET WebService,但是我的授权标题有问题。我有一个用户名和密码用于授权,但我的密码有点长,所以我无法发送。当我尝试将其中一半作为密码时,我可以发送它。我的第一个问题是,如何将此密码发送到服务器?

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#中是无符号的,所以创建了不同的值。我也找不到适合这种情况的解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

为了解决这个问题,我使用了Apache Common Codec而不是使用Android自己的base64编码。 Apache Common Codec