解析jwt的时候遇到了java.lang.IllegalArgumentException: bad base-64
百思不得其解
按照网上说的:Android&ios java
这俩咋就不好使呢?
后来我看了篇帖子说

android开发中的bad base-64错误在涉及到服务器的软件中,由于使用android的Base64解码功能,而服务器端加密为了防止URL格式问题,会采用Apache的URLSafeEncode等方式进行数据安全加密,android端使用Base64.decode(src,Base64.URL_SAFE)不会出现问题但是如果android自己加密,使用的时Base64.encodeToString(bstr,Base64.DEFAULT)就会有可能出现

对就是这个可能性,让我用Base64.DEFAULT解析的时候出bug了,关键这bug还挺奇怪,跟字符串长度没关系,跟解析内容没关系,但解析的东西组合到一起就报错,使用了Base64.URL_SAFE之后就正常了

private fun base64Decode(content: String ): String? {     //注意此处不能使用Base64.DEFAULT,否则再特定情况下会报错        val contentByte = Base64.decode(content,Base64.URL_SAFE)        try {                 return String(contentByte, java.nio.charset.StandardCharsets.UTF_8)        } catch (e: Exception) {                 e.printStackTrace()        }        return ""   }

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. Android中使用ormlite实现持久化--HelloOrmLite
  6. Android中使用listview实现qq/微信好友列表
  7. Android学习笔记---第三天---基础UI组件---Button&ImageButton
  8. (翻译) Backward Compatibility for Applications
  9. Android(安卓)画图类View与SurfaceView之学习

随机推荐

  1. android中一些配置文件的参数的意义
  2. Android中TextView限制行数及末尾已省略
  3. Android(安卓)如何使Edittext不弹出软键
  4. Android(安卓)XML :unbound prefix 错误
  5. 如何在XML设定android控件的颜色(十六进制
  6. android UI进阶之弹窗的使用(2)--实现通讯
  7. Android(安卓)游戏设计教程
  8. Android的线程使用来更新UI----Thread、H
  9. Spinner的Android:prompt无法显示文本
  10. Application、Activity Stack 和 Task的