易语言 BASE64编码源码

————————————–

.版本 2

.子程序 编码转换_BASE64编码, 文本型, 公开, BASE64编码处理(返回编码后的文本)

.参数 待编码数据, 字节集, , 待编码字节集

.局部变量 余数

.局部变量 临时, 字节型, , “3”

.局部变量 变量

.局部变量 集合, 字节集

.局部变量 长度, 整数型

.局部变量 字符, 字节集

.局部变量 i

长度 = 取字节集长度 (待编码数据)

.如果真 (长度 < 1)

返回 (“”)

.如果真结束

余数 = 长度 % 3

.如果真 (余数 > 0)

待编码数据 = 待编码数据 + 取空白字节集 (3 - 余数)

.如果真结束

长度 = 取字节集长度 (待编码数据)

字符 = 取空白字节集 (长度 × 4 ÷ 3)

i = 1

集合 = 到字节集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”)

.变量循环首 (1, 长度, 3, 变量)

临时 [1] = 待编码数据 [变量]

临时 [2] = 待编码数据 [变量 + 1]

临时 [3] = 待编码数据 [变量 + 2]

字符 [i] = 集合 [右移 (临时 [1], 2) + 1]

字符 [i + 1] = 集合 [左移 (位与 (临时 [1], 3), 4) + 右移 (临时 [2], 4) + 1]

字符 [i + 2] = 集合 [左移 (位与 (临时 [2], 15), 2) + 右移 (临时 [3], 6) + 1]

字符 [i + 3] = 集合 [位与 (临时 [3], 63) + 1]

i = i + 4

.变量循环尾 ()

.如果真 (余数 > 0)

长度 = 取字节集长度 (字符)

.如果 (余数 = 1)

字符 [长度 - 1] = 取代码 (“=”, )

字符 [长度] = 取代码 (“=”, )

.否则

字符 [长度] = 取代码 (“=”, )

.如果结束

.如果真结束

返回 (到文本 (字符))

.子程序 编码转换_BASE64解码, 字节集, 公开, BASE64解码处理(返回解码后的字节集数据)

.参数 编码文本, 文本型, 参考, 待解码的文本

.局部变量 文本长度

.局部变量 整倍数

.局部变量 三字节组, 字节型, , “3”

.局部变量 四字节组, 字节型, , “4”

.局部变量 编码值

.局部变量 X

.局部变量 n

.局部变量 二进制数据, 字节集

编码文本 = 删全部空 (编码文本)

编码文本 = 子文本替换 (编码文本, #换行符, , , , 真)

文本长度 = 取文本长度 (编码文本)

整倍数 = 文本长度 \ 4

.如果真 (文本长度 % 4 ≠ 0)

整倍数 = 整倍数 + 1

.如果真结束

.计次循环首 (整倍数, X)

.计次循环首 (4, n)

四字节组 [n] = 取代码 (编码文本, (X - 1) × 4 + n)

编码值 = 寻找文本 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”, 字符 (四字节组 [n]), , 假)

.如果真 (编码值 = -1)

跳出循环 ()

.如果真结束

四字节组 [n] = 编码值 - 1

.计次循环尾 ()

三字节组 [1] = 位或 (四字节组 [1] × 4, 四字节组 [2] ÷ 16)

三字节组 [2] = 位或 (四字节组 [2] × 16, 四字节组 [3] ÷ 4)

三字节组 [3] = 位或 (四字节组 [3] × 64, 四字节组 [4])

二进制数据 = 二进制数据 + 到字节集 (三字节组)

处理事件 ()

.计次循环尾 ()

.如果真 (n < 5) ‘ 最后一组4字符是提前退出的,截取字节集

n = 5 - n

二进制数据 = 取字节集左边 (二进制数据, 取字节集长度 (二进制数据) - n)

.如果真结束

返回 (二进制数据)

易语言html解密源码,易语言 BASE64编码解码源码相关推荐

  1. C语言实现Base64编码解码

    C语言实现Base64编码解码 Encode static const char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr ...

  2. Base64 Encode/Decode Class C++ SourceCode - Base64编码/解码 类 C++ 源码

    Base64 Encode/Decode Class C++ SourceCode - Base64编码/解码 类 C++ 源码 1.Base64.h // Base64.h: interface f ...

  3. openssl算法 —— 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

    openssl 加密字符串的方法: 一.利用openssl命令进行BASE64编码解码(base64 encode/decode): 1. BASE64编码命令 对字符串'abc'进行base64编码 ...

  4. Vue项目:路由跳转时中文传参被URL编码,怎么解决?用js封装Base64编码解码加密解密

    1.在utils中封装js方法,代码如下: var Base64 = { ​// private property_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZab ...

  5. base64编码原理+源码

    看一下Base64的索引表,字符选用了"A-Z.a-z.0-9.+./" 64个可打印字符.数值代表字符的索引,这个是标准Base64协议规定的,不能更改.64个字符用6个bit位 ...

  6. linux之用openssl命令Base64编码解码、md5/sha1摘要、AES/DES3加密解密

    1.我们先看openssl help命令会输出什么? 2.我们用openssl命令实现字符串和文本的Base64编码和解码 openssl base64 openssl base64 -d 3.我们用 ...

  7. 高速理解掌握node.js 字符编码,确码过程 以及base64编解码原理

    var buf1 = new Buffer('a','ascii'); // 字符'a' -> ascii编码 -> 61 存在计算机中 console.log(buf1);var b = ...

  8. base64编码类------原始码(C#)

    using system; namespace shapbse64 { /// <summary> /// 有关base64编码算法的相关操作 ///by 自由奔腾(wgscd) /// ...

  9. Java Base64加密解密编码解码

    起因 最近因为项目要做等保,需要对用户提交的字段进行加密存储,但是还需要做查询,所以需要能解密. 办法 目前打算采用rsa非对称加密保存数据,实现数据加密和解密,但是很尴尬的发现生成的公钥和秘钥居然是 ...

最新文章

  1. 两分钟搞懂 JDK 与 JRE 的关系!
  2. 简单使用SpringCloud的fegin和熔断hystrix
  3. golang微信公众号请求获取信息
  4. 20-ESP8266 SDK开发基础入门篇--C# TCP客户端编写 , 加入数据通信
  5. stm32采集正弦波峰峰值_科研项目 | 基于STM32的永磁同步电机SVPWM控制设计
  6. BASH启动脚本及其启动顺序
  7. 官网上下载tomcat的linux版本
  8. 把 LiveData 用于事件传递那些坑
  9. CodeForces 282E Sausage Maximization(trie+xor)
  10. HDFS Safemode问题
  11. videojs中文文档详解_你的项目需要一个高质量README文档!
  12. windows环境下的YOLO3入门,及opencv344配置
  13. Steam DS4手柄
  14. 英文文献调研方法综述
  15. 植物大战僵尸2 android 修改,【图片】植物大战僵尸2常用修改教程【gg助手吧】_百度贴吧...
  16. redis3.0源码学习之可持久化化操作
  17. Tomcat-幽灵猫GhostCat漏洞复现
  18. zblog php 源码,zblog技术导航v2.3全站源码+数据
  19. html设置图像路径,Html图像标签、绝对路径和相对路径:
  20. Jmeter中唯一值-UUID取值(截取指定长度、去除“-”)

热门文章

  1. Unity 分屏操作
  2. R语言函数总结(转)
  3. java调用https的webservice,https的wsdl
  4. 马云不在云栖大会的第一年,想他
  5. WIN10任务管理器中看不到GPU的使用情况
  6. 甘特图:制定项目计划的三个要点
  7. 计算机英语专业的结合,工学结合模式下的高职计算机专业英语教学探索
  8. matlab多元回归程序,多元回归程序MATLAB程序.doc
  9. 华中师范大学计算机学院夏令营有感
  10. K1 Power Linux上Stream测试内存带宽