【问题标题】:Base64 encoding/decoding on AndroidAndroid 上的 Base64 编码/解码
【发布时间】:2013-05-08 08:06:44
【问题描述】:

我正在尝试访问 .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# 中是未签名的,因此会创建不同的值。我也找不到这种情况的解决方案。任何帮助将不胜感激。

【问题讨论】:

    标签: c# java android base64


    【解决方案1】:

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

    【讨论】:

    • (+1) 您能否添加代码示例如何使用 Apache Common Codec 进行 base64 编码;只是为了让答案更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    相关资源
    最近更新 更多