原创日志

关于php中base64加密,js中base64解密的一个方法,包括处理emoji等特殊字符

[ 2021-01-20 15:30:36 | 作者: admin ]
字号: | |
p.s.只是简单的字符串处理,本质还是明文,没有特殊加密效果

PHP加密:
如果只是普通字符,则简单 base64_encode() 转为base64串即可,但是如果字符串中包含emoji等特殊字符,php解密没有问题,但是放js中没有办法直接解密,需要先将字符串urlencode()处理,然后再base64加密。
还需要特别说明的是,js只支持解密utf8编码,如果字符串是gbk的,需要先转成utf8,再加密。
所以gbk字符串的加密方法为
$title = "你好,世界。";
$title = mb_convert_encoding($title, 'UTF-8','gbk'); //先转编码gbk->utf8
$title = urlencode( $title ) ; //处理emoji等特殊字符,如果没有特殊字符这一步省略
$title = base64_encode( $title ); //对utf8字符串生成base64

javascript解密:
传递给js的是base64串,所以先解base64,网上有很多js的base64函数,也可以自己用附件里面的jquery.base64.js
<script>
var s_str = "JUU0JUJBJThDJUU2JTlGJUIxJUU1JUFEJTkw";
var d_str = $.base64.decode(s_str ); //解密base64_encode()
d_str = decodeURIComponent( d_str ); //解密urlencode()
alert(d_str);
</script>



jquery.base64.js 点击下载
[最后修改由 admin, 于 2021-01-20 15:53:23]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2751

这篇日志没有评论。

此日志不可发表评论。