马上注册,结交更多易友,享用更多功能,让你轻松玩转觅风论坛。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
支持的 AES 模式:AES-{128,192,256}-{ECB,CBC,CTR},共 9 种。
不使用系统自带的 wincrypt 接口,移植(编译)自 tiny-AES-c 代码,然后写了些代码把它们黏在一起。
内置了个 DEMO 实例程序来调用里面的接口,可以参考里面的代码来使用。
同时提供了高阶用法的接口,即传入指针进行加解密操作。
易语言 AES 加解密支持模块
版本:
v2023.1004.01
说明:
AES 实现基于 kokke/tiny-AES-c,进行了一些魔改。
只依赖核心支持库。
测试于 易语言 5.1,示例程序需要安装有黑月编译环境。
模块理论上来说应该兼容后续版本的易语言,这个我就不测试了。
只使用 AES 模块不需要黑月编译环境。
- 下面是我在转换十六进制文本和字节集时写的fuzhu函数,性能杠杠的,全是汇编 hhh
- .版本 2
- .子程序 十六进制到字节集, 字节集, , 原创: 爱飞的猫 @ 52pojie
- .参数 文本内容, 文本型, 参考, 非合法字符将会被忽略;[zxsq-anti-bbcode-0x] 会导致解析出错。
- .局部变量 长度, 整数型
- .局部变量 结果, 字节集
- 置入代码 ({ 87, 49, 192, 139, 125, 8, 131, 201, 255, 139, 63, 252, 133, 255, 116, 12, 242, 174, 141, 65, 2, 247, 216, 209, 232, 137, 69, 252, 95 })
- .如果真 (长度 ≠ 0)
- 结果 = 取空白字节集 (长度)
- 置入代码 ({ 139, 77, 8, 139, 9, 139, 85, 248, 131, 194, 8, 232, 27, 0, 0, 0, 229, 144, 190, 231, 136, 177, 231, 160, 180, 232, 167, 163, 32, 45, 32, 231, 136, 177, 233, 163, 158, 231, 154, 132, 231, 140, 171, 88, 49, 192, 138, 1, 132, 192, 116, 56, 60, 65, 124, 12, 60, 97, 125, 20, 60, 70, 127, 41, 44, 55, 235, 18, 60, 48, 124, 33, 60, 57, 127, 29, 44, 48, 235, 6, 60, 102, 127, 21, 44, 87, 53, 0, 0, 255, 255, 120, 9, 8, 224, 136, 2, 66, 49, 192, 235, 3, 193, 224, 12, 65, 235, 194, 139, 69, 248, 141, 72, 8, 41, 202, 137, 80, 4, 201, 194, 4, 0, 232, 168, 255, 255, 255, 124, 150, 0 })
- .如果真结束
- 返回 (结果)
- .子程序 字节集到十六进制, 文本型, , 原创: 爱飞的猫 @ 52pojie
- .参数 输入内容, 字节集, 参考
- .参数 使用大写, 逻辑型
- .参数 添加空格, 逻辑型
- .局部变量 长度, 整数型, , , 4
- .局部变量 缓冲区, 文本型, , , 8
- 置入代码 ({ 139, 69, 8, 139, 0, 139, 64, 4, 49, 210, 131, 125, 16, 0, 15, 69, 208, 141, 4, 66, 137, 69, 252 })
- .如果真 (长度 ≠ 0)
- 缓冲区 = 取空白文本 (长度)
- 置入代码 ({ 86, 87, 83, 139, 125, 248, 139, 117, 8, 139, 54, 139, 78, 4, 131, 198, 8, 184, 87, 0, 0, 0, 186, 55, 0, 0, 0, 131, 125, 12, 0, 15, 68, 208, 133, 201, 116, 50, 138, 6, 192, 232, 4, 179, 48, 60, 10, 15, 77, 218, 1, 216, 136, 7, 71, 138, 6, 36, 15, 179, 48, 60, 10, 15, 77, 218, 1, 216, 136, 7, 71, 70, 198, 7, 32, 141, 71, 1, 131, 125, 16, 0, 15, 69, 248, 73, 235, 202, 43, 125, 16, 198, 7, 0, 91, 95, 94 })
- .如果真结束
- 返回 (缓冲区)
复制代码
|