我正在開發一個應用程序,它使用授權密鑰通過 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條經驗 獲得超13個贊
建議我使用“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
提交
取消