明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9078|回复: 32

[经验] [原创]让MD5算法飞起来(已改进)

  [复制链接]
发表于 2022-9-30 08:51:48 | 显示全部楼层 |阅读模式
本帖最后由 baitang36 于 2022-10-7 09:45 编辑

lsp版的MD5算法速度很慢,被很多人诟病,能不能优化一下,提高一下速度呢?
yc-MD5.lsp是从论坛找到的lsp版MD5算法源码,改来改去,速度提升微乎其微。看来需要另找出路。
lsp版MD5的问题在于用lsp去造轮子,通过lsp语句来实现MD5。
经过搜索发现,windows内核有MD5算法,也就是说它提供了MD5算法的api,只要调用就可以了,没必要自己造轮子。
syz-md5.fas是用纯lsp调用系统api实现的,32位和64位通用,用法是加载后 (syz-md5 "字符串"),返回值是字符串的MD5值字符串,速度可以用飞快来形容。我的测试,做500次MD5计算,yc-md5程序用时14.15秒;syz-md5程序用时0.032秒,速度相差400倍。
tt5.lsp是测试程序。
命令: (LOAD "D:/aa/tt5.lsp") C:TT5
命令: tt5
yc-md5程序共用时7.327秒
syz-md5程序共用时0.017秒。这是另一台电脑的速度。
命令: (syz-md5 "PC5689756312855546")
"f6209d14a9c3342f467b75a7cc15f5ed"
感谢hn10183051和烟盒迷唇两位大侠发现bug,附件已修正。请朋友们重新下载
bug发生的原因:itoa会丢掉数字前面的0,这样就导致07变成7了,丢了个0. 用保留函数的itoa解决了这个问题(itoa 7 16 2 48)返回“07”
为修正第一次bug,又犯了个低级错误,导致第二个bug。
纯lsp调用系统api的技术由于给我的客户用于读写专业加密锁,为了他们的代码安全,不方便公开syz-md5.fas源码,希望朋友们谅解,感兴趣者可以加我qq私聊。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

狂赞赞盛  发表于 2022-9-30 09:55

评分

参与人数 6明经币 +6 金钱 +50 收起 理由
highflybird + 1 + 30 赞一个!
caoliu023 + 1 很给力!
dtucad + 1 很给力!
1028695446 + 1
自贡黄明儒 + 1 + 20 很给力!
ssyfeng + 1 赞一个!

查看全部评分

"觉得好,就打赏"
    共1人打赏
发表于 2022-10-6 14:42:11 | 显示全部楼层
baitang36 发表于 2022-10-6 13:52
下载不了?试试这个

还是下不了,

神作啊,可谓是求而不得,人生一大遗憾。占用老师一点时间,可以发qq82568456吗
回复 支持 0 反对 1

使用道具 举报

发表于 2022-10-6 16:41:39 | 显示全部楼层
本帖最后由 cchessbd 于 2022-10-6 16:54 编辑
烟盒迷唇 发表于 2022-10-6 16:25
还是有BUG,出来的结果都不一样
(syz-md5 "PC5689756312855546") 出来:"6f093128af72e70ab8bca1dd3d66345 ...

哦,这样啊。那我还是保存上次的旧版本了。
试了旧版本的,2次计算值是不一样。

我又试了下lee mac的md5,他的值和以上的又不一样。
我又拿一个windows的md5计算工具比较了一下。YC-MD5和这个工具的结果一样,应该是对的。
其他2个估计都不对。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

犯了个低级错误,超过10位的字符串被截掉了。算出来的是前10位的md5  发表于 2022-10-7 10:58
发表于 2022-10-6 16:25:03 | 显示全部楼层
还是有BUG,出来的结果都不一样
(syz-md5 "PC5689756312855546") 出来:"6f093128af72e70ab8bca1dd3d66345b"
(YC-MD5 "PC5689756312855546")出来:"f6209d14a9c3342f467b75a7cc15f5ed"
发表于 2022-9-30 08:55:09 | 显示全部楼层
哥。。。赞!!
支持~
发表于 2022-9-30 08:58:09 | 显示全部楼层
好东西,我来试试看
发表于 2022-9-30 08:59:42 | 显示全部楼层
大师又出精品了
 楼主| 发表于 2022-9-30 09:01:40 | 显示全部楼层

一个试验,和大家共享
发表于 2022-9-30 09:02:04 | 显示全部楼层

大师又出精品了,收藏起来
发表于 2022-9-30 09:12:28 | 显示全部楼层

哥。。。赞!!
支持~
发表于 2022-9-30 09:37:53 | 显示全部楼层
我只有一句 盛老师666
发表于 2022-9-30 09:56:30 | 显示全部楼层
我只有一句 盛老师666 666
发表于 2022-9-30 10:28:07 | 显示全部楼层
感谢大佬共享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 12:46 , Processed in 0.292159 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表