使用Base64就需要了解Base64 , Base64算法很简单只需要把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24) , 之后在6位的前面补两个0 , 形成8位一个字节的形式 。 如果剩下的字符不足3个字节 , 则用0填充 , 输出字符使用'=' , 因此编码后输出的文本末尾可能会出现1或2个'=' , 使用MCGS脚本实现这一操作也不算简单但可以实现 , 先将Base64编码表使用字符串变量一一存储 , 比如将base64_list的初值赋予“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/” , 也可以自定义密码本(每个字符都必须唯一对应)对应的加密时也需要使用对于密码本加密 , 上述字符串顺序不可乱 , 乱了就是不再是Base64编码表 。
MCGS加密过程讲解通过!InStr(1base64_list”M”)查找加密字符的码值 , 解出的码值使用!I2Bin(s)转换为二进制字符(不足6字节前面填零) , 再通过字符串拼接合成原始二进制字符串 , 将“=”忽略不转换(因为Base64把三个字节分成四个字节 , 不足3个字节 , 则用0填充 , 输出字符使用'=') , 使用!Mid(str18)和!Bin2I(s)转换为ASCII码值 , 在使用!I2Ascii(s)转换为ASCII字符 , 拼接这些字符串就可以得到明文 。
解决了怎么加密 , 现在需要考虑对什么数据进行加密 , 这取决于我们要实现怎样的授权系统 , 比如 , 实现云端修改账户模式 , 这样就需要预先定义模式对应码值表(9573-长期授权 , 6685-授权1天等等) , 为了保证码值的安全甚至可使用当前时间对码值进行保护 , 实现动态密钥 。 或者利用云端设置有效时间 , 也就是需要对结束时间的时间戳进行加密 。
本文仅探讨算法和实现方法 , 有时间再讲解算法的实现 。
- 互联网|警惕!八成互联网电视系统存非法采集用户数据问题
- GPU|魅族产品焕新用户共创大计划上线,购机竟能享两年质保?
- 零售业|谁还敢用电视?中国信通院公布:八成互联网电视侵犯用户隐私安全
- 支付宝|如果支付宝倒闭,用户的钱还能取出来吗?欠的钱还要还吗?
- 逸仙电商|打击网站采集:搜狗搜索“石破算法”正式生效
- 小米|年度最强小屏旗舰 小米12S爆料:加入徕卡影像算法
- 报告显示八成互联网电视系统存非法采集共享用户数据问题
- 对于老用户来说|win7系统新增性能指标功能
- 腾讯|优酷视频提价看齐腾讯爱奇艺,用户表示“这个价格涨得没道理”
- 续航|魅族19快充方案曝光:65W还是100W用户决定