Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 4154|回复: 7

MD5 & SHA1 散列计算器

[复制链接]

该用户从未签到

发表于 2011-8-24 22:04:10 | 显示全部楼层 |阅读模式
    我在上课的时候需要讲到散列,以前一直用的winMd5Sum做演示,这个软件只能计算文件的MD5值。在目前看来,一是缺少字符串的散列计算功能,二是现在SHA1用得越来越广,讲课的时候必须加上这个算法。
    原本我是想在网上找一个现成的软件,但最近一直在学习lazarus,因此就自己用lazarus做了一个。

附件包括源代码和可执行文件,需要dcpcrypt-2.0.4.1包。
大家可以从这个软件学习到:

1、dcpcrypt包中散列类的使用。
2、Lable模仿超链接的方法。
3、MainMenu控件的使用。
4、FileNameEdit控件的使用。
5、OpenURL()、OpenDocument()和MessageDlg()函数的使用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册(注册审核可向QQ群索取)

x

评分

参与人数 1威望 +1 收起 理由
猫工 + 1 优秀文章,支持!n神马都是浮云

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2011-8-25 11:07:57 | 显示全部楼层
优秀文章,支持!n神马都是浮云
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-8-25 12:36:17 | 显示全部楼层
今天早上发现一个小问题,就是不能打开中文文件名。

花了2个小时google,总算解决了。

大家修改一下源代码。就是把获取的文件名用UTF8ToSys函数处理一下。

TFileStream.Create(UTF8ToSys(SelectFile.Text), fmOpenRead)
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-18 04:20:41 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-12-19 23:19:40 | 显示全部楼层
怎么计算文件的SHA散列都是一样的呀?不同的文件,相同的SHA散列。
第一个文件:

第二个文件:

MD5不一样,SHA一样!!
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-12-20 20:30:33 | 显示全部楼层

回 4楼(laimama) 的帖子

laimama:怎么计算文件的SHA散列都是一样的呀?不同的文件,相同的SHA散列。
第一个文件:
p_w_upload/photo/Mon_1112/49_226b1324308354e4a89fc5c12d9a3.png
第二个文件:
p_w_upload/photo/Mon_1112/49_39fa13243083541fd1d46e3463530.png
....... (2011-12-19 23:19) 
Bug!肯定是Bug!!!

不过我想修复应该很容易。

你帮我修复如何?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-12-20 20:54:49 | 显示全部楼层
呵呵,我后来看了下代码,在MD5和SHA计算代码的中间插入一句“SrcFile.Seek(0,0);”就行了。
另外,还简单的增加了文件拖入功能。
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-12-20 22:00:36 | 显示全部楼层

回 6楼(laimama) 的帖子

laimama:呵呵,我后来看了下代码,在MD5和SHA计算代码的中间插入一句“SrcFile.Seek(0,0);”就行了。
另外,还简单的增加了文件拖入功能。
 (2011-12-20 20:54) 
谢谢你啊!

你可以把源代码贴上来啊。
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 22:23 , Processed in 0.038198 second(s), 14 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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