|
分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
base64编码是将原来24位扩展成32位,得到0-64之间的索引值,按特定码表重新编码后来实现
所有长度会增加1/3
大概原理如下图:
![]()
==========
优点:编码解码简单,速度快,体积小
缺点:不安全
优点就不说了,说一说为什么会不安全
不安全体现在两个方面
1 转义符干扰
标准码表中包含/,在数据库中存放中,会出现严重干扰
比如,"adfaf/adfaj"写入数据库,取出时会变成"adfaf//adfaj"
解决办法,使用自定义码表,将"/"替换成其他字符,比如"+" "," "."等
2 逆向分析
就算使用自定义码表,别人只有拿到码表,就可以轻松写出解码算法,保密性几乎为0
那么,有没有一种办法来加强保密性呢?
答案:有
通过分析base64基本原理,不难看出,先通过原数据,得到一个0-64之间的索引值,既然是整数,就肯定可以做一些运算,
运算必须保证运算结果在0-64之间,且逆运算保证只有一个结果
这里我选择使用位异或来实现
base64一种简单实用变异编码的思路和实现.e
(14.49 KB, 下载次数: 56)
补充内容 (2021-10-1 10:28):
国庆修复版在12楼,支持任意字节集
http://125.confly.eu.org/forum.php?mod= ... 29&pid=22080040 |
评分
-
查看全部评分
|