我正在開發(fā)一個(gè)應(yīng)用程序,它使用授權(quán)密鑰通過 volley 將用戶連接到應(yīng)用程序服務(wù)器。為了識(shí)別授權(quán)密鑰,必須使用授權(quán)密鑰本身和用戶嘗試從服務(wù)器啟動(dòng)的操作對(duì)其進(jìn)行解碼,我有第一行代碼對(duì)下面的授權(quán)密鑰以及其他區(qū)域進(jìn)行編碼使用編碼的地方: 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 及以上的設(shè)備。最后 3 行代碼是否可以使用替代代碼?建議我使用“import android.util.Base64;” 與“Java.util.Base64”相反,但它返回錯(cuò)誤無法解析方法 getEncoder() 請(qǐng)幫助
1 回答

開滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
建議我使用“import android.util.Base64;” 與“Java.util.Base64”相反,但它返回錯(cuò)誤無法解析方法 getEncoder()
android.util.Base64相當(dāng)于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)
}
添加回答
舉報(bào)
0/150
提交
取消