我有一些代码可以登录到第 3 方解决方案,这需要我对密码进行编码。他们为我提供了一个 Java 示例,但我还需要用 C#(和 PHP,稍后)开发它。
我在 C# Windows 应用程序和 Java Android 应用程序中有代码,并且具有相同的输出,它们似乎运行良好,直到我尝试将密码字节转换为 base 64 编码字符串。
这是Java代码:
enc = Base64.encodeBase64(ciphertext);
return enc.toString();
这是 C# 代码:
return System.Convert.ToBase64String(cipherBytes);
我可以看到 Java 应用程序中的密文字节与 C# 应用程序中的相同,除了它们是有符号的,并且 Java 中的 base64 编码字节如果转换为 ASCII 值,将给出我在其中看到的字符串C# 应用程序,但 Java 中的 enc.ToString() 没有返回相同的字符串。
更多信息
爪哇
ciphertext = 66, 67, -69, 24, -48, -23, 84, -5
encodeded64 = 81, 107, 79, 55, 71, 78, 68, 112, 86, 80, 115, 61
to string = [B@41771ea8
C#
cipherBytes = 66, 67, 187, 24, 208, 233, 84, 251
result = QkO7GNDpVPs=
非常感谢您的帮助。(这是我在这里的第一篇文章,所以如果我违反任何规则,请随时告诉我)