base64一种简单实用变异编码的思路和实现

base64编码是将原来24位扩展成32位,得到0-64之间的索引值,按特定码表重新编码后来实现

所有长度会增加1/3

base64一种简单实用变异编码的思路和实现

优点:编码解码简单,速度快,体积小

缺点:不安全

优点就不说了,说一说为什么会不安全

不安全体现在两个方面

1 转义符干扰 

  标准码表中包含/,在数据库中存放中,会出现严重干扰

  比如,"adfaf/adfaj"写入数据库,取出时会变成"adfaf//adfaj"

  解决办法,使用自定义码表,将"/"替换成其他字符,比如"+" ","  "."等

2 逆向分析

就算使用自定义码表,别人只有拿到码表,就可以轻松写出解码算法,保密性几乎为0

那么,有没有一种办法来加强保密性呢?

答案:有

   通过分析base64基本原理,不难看出,先通过原数据,得到一个0-64之间的索引值,既然是整数,就肯定可以做一些运算,

运算必须保证运算结果在0-64之间,且逆运算保证只有一个结果

这里我选择使用位异或来实现

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注