为了账号安全,请及时绑定邮箱和手机立即绑定

api低于26的设备如何使用base 64?

api低于26的设备如何使用base 64?

绝地无双 2023-12-13 14:48:52
我正在开发一个应用程序,它使用授权密钥通过 volley 将用户连接到应用程序服务器。为了识别授权密钥,必须使用授权密钥本身和用户尝试从服务器启动的操作对其进行解码,我有第一行代码对下面的授权密钥以及其他区域进行编码使用编码的地方:  String authkey="xxxgafjeusjsj" ;  String action ="pay" ;  String auth=authkey+action  String Authkey=Base64.getEncoder().encodeToString(auth_.getBytes()); .....   return Base64.getEncoder().encodeToString(signature);  ......   PKCS8EncodedKeySpec keySpecPKCS8 = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(privateKeyContent));上面的代码工作正常,但是最后 3 行只能用于 api 26 及以上的设备。最后 3 行代码是否可以使用替代代码?建议我使用“import android.util.Base64;” 与“Java.util.Base64”相反,但它返回错误无法解析方法 getEncoder() 请帮助
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

建议我使用“import android.util.Base64;” 与“Java.util.Base64”相反,但它返回错误无法解析方法 getEncoder()


android.util.Base64相当于encodeToString_getEncoder().encode(args)


你可以使用像


String Authkey= "";


if (VERSION.SDK_INT >= 26) {

       Authkey = Base64.getEncoder().encode(auth_.getBytes()).toString();

} else {

      Authkey = android.util.Base64.encodeToString(auth_.getBytes(), 0)

}


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信