IIWAB base64Url - IIWAB

base64Url

IIWAB 1年前 ⋅ 409 阅读

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

Base64 存在以下问题:

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

使用 / 作为第 63 个字符,/ 在 URL 和文件系统中都用作分隔符。

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

将 + 替换成了 -

将 / 替换成了 _

不再需要填充字符

禁止行分隔符

具体的操作流程:

编码:

使用 Base64 编码

去除尾部 =

将 + 替换成 -,将 / 替换成 _

解码:

将 - 替换成 +,将 _ 替换成 /

计算 编码长度 % 4

结果为 0 则不处理

结果为 2 则在字符串尾部添加 ==

结果为 3 则在字符串尾部添加 =

使用 Base64 解码


全部评论: 0

    我有话说: