解析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. Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值
  2. 处理固定宽度下的长字符串绘制(Android)
  3. android图片压缩并转为base64字符串
  4. Android项目中如果json字符串中key-value顺序很重要,不要使用Andr
  5. listview为空时,显示字符串
  6. android 字符串、颜色和尺寸
  7. Android DataBinding 字符串拼接
  8. Android xliff和字符串资源
  9. android xliff字符串操作

随机推荐

  1. android 横竖屏限制的配置方法
  2. android 日期选择器自由天数内展示
  3. GDB在线调试Android(安卓)Framework Nati
  4. Android基于XMPP Smack Openfire开发IM【
  5. 零打碎敲学Android(一)—用什么来替代Gra
  6. Android(安卓)ImageView的scaleType属性
  7. 使用命令行签名Android应用程序
  8. Android(安卓)Framework 框架系列之 Alar
  9. Android系统源码极速搜索引擎(OpenGrok)
  10. context 的理解