易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

base64一种简单实用变异编码的思路和实现   [复制链接]

    2021-05-13 19:31:00
    模块控件源码
    易语言资源网
    2536 次浏览
    来源链接


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

所有长度会增加1/3

大概原理如下图:

==========

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

缺点:不安全

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

不安全体现在两个方面

1 转义符干扰

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

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

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

2 逆向分析

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

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

答案:有

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

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

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



点我下载 (已有 94 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
base64一种简单实用变异编码的思路和实现.e 系统核心支持库 5.7 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:[实用技巧] 超列技巧之 "将所有列调整...     下一篇:最新steam绘制源码...