猿问

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

我正在开发一个应用程序,它使用授权密钥通过 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() 请帮助


绝地无双
浏览 109回答 1
1回答

开满天机

建议我使用“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)}
随时随地看视频慕课网APP

相关分类

Java
我要回答