数据库url存储-怎么查看mysql的url
作者
Base64URL是一种在BASE64的基础上编码形成新的加密方式,标准的 Base64 并不适合直接放在 URL 里传输,因为 URL 编码器会把标准 Base64 中的 / 和 + 字元变为形如 %XX 的形式,而这些 % 号在存入资料库时还需要再进行转换,因为 ANSI SQL 中已将 % 号用作通配符。
为解决此问题,可采用一种用于 URL 的改进 Base64 编码,它不在末尾填充 = 号,并将标准 Base64 中的 + 和 / 分别改成数据库url存储了 - 和 _,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了资料库、表单等处对象标识符的格式。
具体的实现 *** 就是数据库url存储:
Base64URL编码时:
使用 Base64 编码去除尾部 =将 + 替换成 -,将 / 替换成 _Base64URL解码时:
将 - 替换成 +,将 _ 替换成 /计算 编码长度 % 4结果为 0 则不处理结果为 2 则在字符串尾部添加 ==结果为 3 则在字符串尾部添加 =使用 Base64 解码使用PHP进行实现:
/** * 编码 */function base64url_encode($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); } /** * 解码 */function base64url_decode($data) { return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT)); }目录
推荐阅读
0 条评论
本站已关闭游客评论,请登录或者注册后再评论吧~