Base64URL

作者: 又语 | 来源:发表于2020-04-14 16:49 被阅读0次

Base64URL 对 Base64 标准进行了修改,目的是能够将编码结果用作文件名或 URL 地址。

Base64 存在以下问题:

  • 使用 + 作为第 62 个字符,使用 = 作为填充字符。这两个字符在 URL 中都有特殊含义,+ 是空格,= 用于通过查询字符串作为 键=值 发送数据;
  • 使用 / 作为第 63 个字符,/ 在 URL 和文件系统中都用作分隔符。

为了解决以上问题,Base64URL 应运而生,Base64URL 采用了和 Base64 一样的算法作为主要标准,在以下几个方面做了稍许调整:

  • + 替换成了 -
  • / 替换成了 _
  • 不再需要填充字符
  • 禁止行分隔符

具体的操作流程:

编码:

  1. 使用 Base64 编码
  2. 去除尾部 =
  3. + 替换成 -,将 / 替换成 _

解码:

  1. - 替换成 +,将 _ 替换成 /
  2. 计算 编码长度 % 4
    • 结果为 0 则不处理
    • 结果为 2 则在字符串尾部添加 ==
    • 结果为 3 则在字符串尾部添加 =
  3. 使用 Base64 解码

相关文章

  • 认证,令牌

    session方法; Token方法: base64url转码格式 使用jwt实现身份验证

  • Base64URL

    Base64URL 对 Base64 标准进行了修改,目的是能够将编码结果用作文件名或 URL 地址。 Base6...

  • base64上传

    1.base64url传到后端,后端接收转图片存本地临时 /***图片base64Url转文件*/publicst...

  • iOS Base64URL编码 等同于java中的Base64.

    一. iOS Base64URL编码:java中,在进行base64编码时会看到类似如下代码: 其中参数的含义是:...

  • iOS Base64URL编码 等同于java中的Base64.

    一. iOS Base64URL编码:java中,在进行base64编码时会看到类似如下代码: 其中参数的含义是:...

网友评论

      本文标题:Base64URL

      本文链接:https://www.haomeiwen.com/subject/uuutvhtx.html