peakway
奋斗不止,走向成功!
对MD5算法的一点体会
首先说我不是搞密码的,以前用MD5仅仅是写程序时处于安全考虑对口令进行加密,对于为什么MD5不能破解也不是太清楚(山大的王小云教授部分破解了MD5已经是事实),有时会看到一些软件的下载处会注明一个MD5的哈希值,开始以为是序列号之类的,但我从来没用到过这串乱码,到底为什么我希望弄清楚。
我翻了一下资料上面说经MD5、SHA1之类的哈希算法得到的仅仅是个消息摘要,如果明文中稍作改动就会使得到的哈希产生很大的变化,不太明白也懒得看太多,于是我写了一句代码测试一下:
<?
php
$string
=
'
tttttt
'
;
echo
md5
(
$string
);
?>
当我改变string的值时,输出果然一点都不一样,我还将$string设为很长的一段文字,通过修改其中某个字符前后来判断,结果和前面一样。那么现在我产生一点想法,通过这种方法我可以判断我的文档中的文字是否被别人修改过,但是好多文档并不是普通的文本文件,比如一幅图片、一个软件,能不能用类似的办法判断是否被人修改过呢?继续测试吧,首先我读取一个二进制文件到内存中,再对读取的内容做哈希不就可以了嘛!于是用下面的代码:
<?
php
$filename
=
"
c:\\test\\photo.gif
"
;
$handle
=
fopen
(
$filename
,
"
rb
"
);
$contents
=
fread
(
$handle
,
filesize
(
$filename
));
fclose
(
$handle
);
?>
我测试了好几种文件类型,最小的几十K,最大的600多兆,都是可行的!唯一的缺点是感觉用PHP去执行效率有点低,有这个想法我当然可以用delphi之类(其它的我还不会呢,呵呵)的工具写一个界面友好点的工具了,写到这里,才突然想到网上这种工具肯定很多,就当一个学习的过程吧!
发表于 2005-11-07 11:14
peakway
阅读(693)
评论(0)
编辑
收藏
引用
所属分类:
other
只有注册用户
登录
后才能发表评论。
<
2024年10月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
导航
IT博客
首页
发新随笔
发新文章
联系
聚合
管理
统计
随笔: 16
文章: 2
评论: 78
引用: 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
database
(rss)
feeling(3)
(rss)
other(5)
(rss)
php(8)
(rss)
随笔档案
2005年11月 (8)
2005年10月 (6)
2005年4月 (1)
2004年1月 (1)
文章分类
php(2)
(rss)
相册
日常剪影
求学历程
收藏夹
nontech(1)
(rss)
technology(4)
(rss)
download
Instant Translation
中国站长站
全方位下载
搜源码
foreign
php links
PHP Magazine
weberforums
friends
flybird
平淡如水
(rss)
other
CSDN
md5()
正则表达式
php
BSD吧
PHP Help:PHP Freaks!
PHP5研究室
PHP中文站
WEB_开发者写作社区
喜悦国际村
超越PHP
搜索
最新评论
1. re: PHP开发框架总结
评论内容较长,点击标题查看
--buy an essay
2. re: PHP开发框架总结
评论内容较长,点击标题查看
--english essays paper
3. re: PHP开发框架总结
评论内容较长,点击标题查看
--mortgage loans
4. re: PHP开发框架总结
评论内容较长,点击标题查看
--writing services
5. re: PHP开发框架总结
评论内容较长,点击标题查看
--buy thesis
阅读排行榜
1. 一个便捷申请Gmail帐号的方法(2326)
2. 测试用PHP上传大文件(1988)
3. Google PageRank 和Alexa排名使用程序获取的方法(921)
4. 对MD5算法的一点体会(693)
5. Google搜索技巧2005版(679)
评论排行榜
1. 一个便捷申请Gmail帐号的方法(64)
2. Google PageRank 和Alexa排名使用程序获取的方法(5)
3. Google搜索技巧2005版(3)
4. php 发送带附件的邮件(1)
5. JPG Thumbnails(0)