摘要:如果直接使用和方法的话,生成的字符串可能不适用地址。下面的方法可以解决该问题安全的字符串编码安全的字符串解码注本文为转载,原文地址
在使用base64对字符串编码后,会出现特殊符号"+","/","=",如果该字符串通过url传递会出现意想不到的问题,所以,这里需要对编码后的字符串里的特殊字符进行过滤处理,来解决该问题。
如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:
URL安全的字符串编码:
function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array("+","/","="),array("-","_",""),$data); return $data; }
URL安全的字符串解码:
function urlsafe_b64decode($string) { $data = str_replace(array("-","_"),array("+","/"),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr("====", $mod4); } return base64_decode($data); }
注:本文为转载,原文地址
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/23307.html
摘要:加密算法以字符十六进制数字形式返回散列值。加密算法是加密是的干扰码,使编码更安全可选的盐值字符串。返回的数据可能是二进制的 数据加密可以简单的理解为:明文(文件或者数据)-->算法处理-->不可读的密文,进而达到加密的效果。 php中的几种加密方式 md5加密算法 crypt算法 sha1加密算法 URL编码技术编码 base64编码 其中 md5、crypt、sha1 都是单向加...
摘要:模块提供了在二进制数据和可打印字符间编解码的功能,包括中定义的等编码。可应用于生成安全的或文件系统编码场景中。等同于对类字节对象或纯字符组成的字符串进行标准解码,返回解码后的字节序列。 base64模块提供了在二进制数据和可打印ASCII字符间编解码的功能,包括RFC3548中定义的Base16, Base32, Base64, Ascii85, Base85等编码。 RFC3548中...
摘要:整合了等高性能编码算法,并提供了统一的优雅的简单易用的调用接口,将敏感数据混淆编码成可还原的非连续的安全的标识符。重构现有的发码生成机制使用数据库自带的索引主键,但是对外进行混淆。对加密串进一步混淆,并生成安全的字符串。 Laravel Hashid 整合了 [Base62], [Base64], [Hashids], [Optimus] 等高性能编码算法,并提供了统一的、优雅的、简单...
摘要:中中特殊字符引起的问题前言,在做某个渠道的过程中,发现一个验签错误的问题。对已编码的字符串进行解码返回字符串,此字符串中百分号后跟两位十六进制数的序列都将被替换成原义字符。 PHP中URL中特殊字符引起的问题(+,,=) 前言,在做某个渠道的过程中,发现一个验签错误的问题。但是,当时验签在两个地方表现不一致,同一套处理方法,想到了这是因为两个地方请求方式是不同的一个get方法另外一个自...
阅读 3478·2021-09-06 15:13
阅读 1529·2021-09-02 10:19
阅读 2475·2019-08-30 15:52
阅读 920·2019-08-29 15:25
阅读 1566·2019-08-26 18:36
阅读 497·2019-08-26 13:23
阅读 1333·2019-08-26 10:46
阅读 3499·2019-08-26 10:41