精易论坛

标题: xxtea加解密源码,带dll [打印本页]

作者: taizhong    时间: 2020-7-28 14:32
标题: xxtea加解密源码,带dll
本帖最后由 taizhong 于 2020-7-28 16:38 编辑

xxtea对称加解密用途很多无奈易语言没有好用的xxtea加解密源码,
js表达式版的有bug
于是编译了xxtea源码,生成dll,方便大家使用
经测试,完美运行,如发现bug,可评论区留言

dll版使用说明
1 附件里面有 dll和易语言调用源码两个文件
2 调用源码 使用了精易模块,自行添加
3 源码添加了js版加解密函数,可以删除掉
4 待加密内容类型是字节集,key类型是文本型
  返回类型是字节集
5 此调用源码,知识点在于易语言变量类型和C++变量类型的转换

另外,如需易语言置入汇编版xxtea源码且愿意付费,
可私信与我联系
xxtea.zip (7.96 KB, 下载次数: 313)

==========实测和在线加密返回结果一样
http://tools.bm8.com.cn/xxtea/
注意这里返回的是base64编码
可自行测试








补充内容 (2020-7-29 17:41):
喷没开源xxtea源码的,你有点常识好不好,
xxtea算法开源的,只是易语言没找到好用的
我这个是编译的开源c源码,给易语言使用

补充内容 (2020-7-30 01:16):
xxtea源码自行下载
https://github.com/xxtea/xxtea-c

xxtea.png (17.19 KB, 下载次数: 0)

xxtea.png

xxtea.png (22.65 KB, 下载次数: 0)

xxtea.png

作者: wjswzj0    时间: 2020-7-28 14:59
66666666666
作者: ezzuhao    时间: 2020-7-28 15:23
优秀!!   
作者: chencong5025    时间: 2020-7-28 15:26
    同出
有需要XXTEA的也可以联系我 可以提供DLL 以及DLL源码 以及易语言调用源码。QQ305230354

作者: Hoibben    时间: 2020-7-28 15:39
chencong5025 发表于 2020-7-28 15:26
同出
有需要XXTEA的也可以联系我 可以提供DLL 以及DLL源码 以及易语言调用源码。QQ305230354 ...

逮住发条陈一只~


*****************************
xxtea而已~ 易语言直接翻译一下js就完事了~

作者: mood100    时间: 2020-7-28 15:40
这个不错,感谢分享
作者: chencong5025    时间: 2020-7-28 15:51
楼主的DLL有问题  应该是内存问题。 循环多次调用 你看看返回数据 是叠加的。
作者: chencong5025    时间: 2020-7-28 15:51
Hoibben 发表于 2020-7-28 15:39
逮住发条陈一只~

你眼睛真毒。  我也就是凑个热闹。。。哈哈
作者: taizhong    时间: 2020-7-28 16:25
chencong5025 发表于 2020-7-28 15:51
楼主的DLL有问题  应该是内存问题。 循环多次调用 你看看返回数据 是叠加的。

.版本 2

.计次循环首 (111, )
    str = 文本_取随机字符 (10, 7)
    decode (encode (到字节集 (“hello”), str), str)
.计次循环尾 ()
这样调用?
没问题啊,
作者: chencong5025    时间: 2020-7-28 17:03
taizhong 发表于 2020-7-28 16:25
.版本 2

.计次循环首 (111, )
  
计次循环首 (100, i)

Res_my = encode (data, “qweq”)
计次循环尾 ()

你最后输出这个Res_my 试试。 data 自己申明下  字节集

作者: chencong5025    时间: 2020-7-28 17:09
taizhong 发表于 2020-7-28 16:25
.版本 2

.计次循环首 (111, )
  
data = 到字节集 (“password=123123”)
Res_my = encode (data, “qweq”)
调试输出 (data)
Res_my = encode (data, “qweq”)
调试输出 (data)
调试输出 (Res_my)


i支持库列表   支持库注释   
spec特殊功能支持库



你看下 问题出在 估计操作了 data 的指针导致 data膨胀 导致加密后数据膨胀

作者: taizhong    时间: 2020-7-28 18:12
chencong5025 发表于 2020-7-28 17:03
[e=0].版本 2

.计次循环首 (100, i)

encode 封装问题,
因为是传入地址
encode和decode 易语言源码里面,你可以生成一个局部变量 bin =data
操作bin,就不会出现这个问题了

作者: chencong5025    时间: 2020-7-28 18:20
本帖最后由 chencong5025 于 2020-7-28 19:57 编辑
taizhong 发表于 2020-7-28 18:12
encode 封装问题,
因为是传入地址
encode和decode 易语言源码里面,你可以生成一个局部变量 bin =data
  
子程序名返回值类型公开备 注
encode字节集 
参数名类 型参考可空数组备 注
data字节集
key文本型
变量名类 型静态数组备 注
ret整数型 
len整数型 
bin字节集 
bin = data
ret = xxtea_encrypt (取变量数据地址 (bin), 取字节集长度 (bin), 取变量数据地址 (key), 取变量数据地址 (len))
data = 指针到字节集 (ret, len) ' 问题出在这里。。。没看到  没有问题了
' 调试输出 (data)
返回 (data)
data = 到字节集 (“password=123123”)
调试输出 (“原始数据”, data)
Res_my = encode (data, “qweq”)
调试输出 (“加密过一次后”, data, Res_my)
Res_my = encode (data, “qweq”)
调试输出 (“加密过2次后”, data, Res_my)
Res_my = encode (data, “qweq”)
调试输出 (“加密过3次后”, data, Res_my)


i支持库列表   支持库注释   
spec特殊功能支持库

不行滴。
输出值:
* “原始数据” | 字节集:15{112,97,115,115,119,111,114,100,61,49,50,51,49,50,51}
* “加密过一次后” | 字节集:20{215,54,195,218,126,164,219,192,181,99,158,24,214,106,143,230,164,242,192,137} | 字节集:20{215,54,195,218,126,164,219,192,181,99,158,24,214,106,143,230,164,242,192,137}
* “加密过2次后” | 字节集:24{110,234,231,249,53,137,10,32,202,121,176,91,161,41,71,245,228,51,178,253,5,60,173,226} | 字节集:24{110,234,231,249,53,137,10,32,202,121,176,91,161,41,71,245,228,51,178,253,5,60,173,226}
* “加密过3次后” | 字节集:28{9,251,126,60,23,235,196,178,244,190,214,209,230,37,28,188,143,136,3,167,97,157,162,93,19,132,148,200} | 字节集:28{9,251,126,60,23,235,196,178,244,190,214,209,230,37,28,188,143,136,3,167,97,157,162,93,19,132,148,200}


作者: chencong5025    时间: 2020-7-28 18:22
本帖最后由 chencong5025 于 2020-7-28 18:28 编辑
taizhong 发表于 2020-7-28 18:12
encode 封装问题,
因为是传入地址
encode和decode 易语言源码里面,你可以生成一个局部变量 bin =data

收回后续   你居然操作了参数 并且返回了参数。。。。我看错了

无标题.png (103.35 KB, 下载次数: 0)

无标题.png

作者: djmy2018    时间: 2020-7-28 18:46
看看
作者: taizhong    时间: 2020-7-28 20:34
chencong5025 发表于 2020-7-28 18:20
[e=0].版本 2
.支持库 spec

你这,,,
返回(bin)
作者: taizhong    时间: 2020-7-28 20:36
chencong5025 发表于 2020-7-28 17:09
[e=0].版本 2
.支持库 spec

,这样改才对

.版本 2
.支持库 spec

.子程序 encode, 字节集
.参数 data, 字节集
.参数 key, 文本型
.局部变量 ret, 整数型
.局部变量 len, 整数型
.局部变量 bin, 字节集

bin = data
ret = xxtea_encrypt (取变量数据地址 (bin), 取字节集长度 (bin), 取变量数据地址 (key), 取变量数据地址 (len))
bin = 指针到字节集 (ret, len) '问题出在这里。。。没看到  没有问题了
' 调试输出 (data)
返回 (bin)
作者: chencong5025    时间: 2020-7-28 20:37
taizhong 发表于 2020-7-28 20:34
你这,,,
返回(bin)

我看错了。你是直接操作了参数返回 这奇葩的写法 是万万没想到。。。
作者: 胖虎O    时间: 2020-7-29 09:51
看一下是什么
作者: tian89    时间: 2020-7-29 16:31
不是开源不要在开源贴中DLL那门子开源?又想给别人用又怕别人知道源代码.你真心情好纠结,目的还是名气
作者: taizhong    时间: 2020-7-29 17:37
tian89 发表于 2020-7-29 16:31
不是开源不要在开源贴中DLL那门子开源?又想给别人用又怕别人知道源代码.你真心情好纠结,目的还是名气

xxtea算法本来就是开源的,
源码github自行找
作者: q2902044156    时间: 2020-7-31 15:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: taizhong    时间: 2020-7-31 15:52
q2902044156 发表于 2020-7-31 15:49
指定子程序或类方法名称“取字节集指针”未找到

换成取变量数据地址
作者: z80554790    时间: 2020-9-10 19:51
Hoibben 发表于 2020-7-28 15:39
逮住发条陈一只~

版主的头像好。。。好。。。。好。。。。好骚啊
作者: z80554790    时间: 2020-9-10 19:53
大佬在吗报错啊!提示指定数据类型名称未找到。能修复一下吗?
作者: taizhong    时间: 2020-9-11 12:31
z80554790 发表于 2020-9-10 19:53
大佬在吗报错啊!提示指定数据类型名称未找到。能修复一下吗?

添加精易模块
作者: 单身帝    时间: 2020-11-18 06:23
哥们就是看不惯那些瞎喷的
作者: tapouki    时间: 2021-2-21 17:33
不错,拿走了
作者: 凉忆亦凉心    时间: 2021-2-22 11:24

作者: cathrieir    时间: 2021-6-27 04:40
感谢分享,学习了,下了别人的JS版解密,处理长一点的文本有点慢,这个应该很快。
作者: ghost12    时间: 2022-1-28 17:00
感谢你的支持,精易有你更精彩
作者: wlp    时间: 2022-1-28 17:13
xxtea.zip (1.76 KB, 下载次数: 121)

var xxtea = new XXTea();
xxtea.encode(new Uint8Array([0], "key"))
xxtea.decode(new Uint8Array([0], "key"))

作者: 花里胡哨之胡哨    时间: 2022-7-1 22:10
感谢分享,很给力!~
作者: 晓晨1818    时间: 2022-11-28 23:26
啊啊啊++
作者: li5553385    时间: 2023-1-19 23:56
支持下!!!!!!!!!!!
作者: 571901145    时间: 2023-2-3 15:04
66666666666666666666
作者: 571901145    时间: 2023-2-3 15:04
66666666666666666666
作者: gch_1    时间: 2023-2-3 20:21
感谢楼主分享!
作者: gch_1    时间: 2023-2-3 20:21
谢谢啦!
作者: gch_1    时间: 2023-2-3 20:34
指定子程序或类方法名称“取字节集指针”未找到 这个是怎么回事
作者: gch_1    时间: 2023-2-3 20:35
小白一枚,还请楼主告知
作者: dong415    时间: 2024-4-18 05:04

作者: zjbdsg    时间: 2024-4-18 06:11
666666666666666666
作者: 564123    时间: 2024-6-10 21:40
错误(10002): 指定子程序或类方法名称“取文本型指针”未找到。  楼主这个又用什么替换>?

作者: zhoupan88    时间: 2024-9-5 22:53
6666666666666666666666




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4