我正在开发一个应用程序,它使用授权密钥通过 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)
}
添加回答
举报
0/150
提交
取消