随笔 - 41  文章 - 15 评论 - 1115 trackbacks - 21

.net asp web c# vb VS2005 VS2008 VS2003

    姓名 景春雷
    网名 1-2-3
    生日 1980.2.29
    城市 沈阳
又看了一遍大话西游,仍然十分感动。 9-26 10:30

与我联系

搜索

 

常用链接

我参与的团队

我的标签

随笔分类(42)

随笔档案(42)

文章分类(14)

相册

收藏夹(2)

积分与排名

  • 积分 - 143160
  • 排名 - 267

最新评论

阅读排行榜

评论排行榜

摘要

本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO。

由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加密技术。

对称加密

何谓加密?加密是一种“把数据搞乱掉”的技术。加密技术涉及到4种东东:
明文:可以被人或程序识别的数据。例如一个文本文件、一段歌词、一个Word文档、一首MP3、一个图片文件、一段视频等等。
加密算法:将数据搞乱掉的方法。
密钥(密码):一个你在进行加密操作时给出的字符串,让加密算法不但把明文“搞乱掉”,而且要乱得“与众不同”。这样即使别人搞到了解密算法,如果没有当初加密时所使用的密码,一样无法进行解密操作。
密文:明文被加密算法和密钥加密后的结果。它看上去就是一堆乱码,没有人或程序能知道它到底表示什么信息。

作为加密的一个实例,我将使用由我杜撰的“景氏替换加密算法”演示一下加密过程。
明文:good good study, day day up.
密钥:google
景氏替换加密算法:将明文中的所有的字母“d”替换成密钥。
密文:将“good good study, day day up.”中的所有字母“d”替换成“google”,就得到密文“googoogle googoogle stugoogley,  googleay googleay up.”。这个密文乱得还可以吧?一般人看了肯定不知道它是什么意思。

那么什么是解密呢?解密就是把密文再变回明文的过程。
例如“景氏替换解密算法”就是:将密文中所有与密钥相同的字符串替换成“d”。
密文:googoogle googoogle stugoogley,  googleay googleay up.
密钥:google
景氏替换解密算法:将密文中所有与密钥相同的字符串替换成“d”。
明文:将“googoogle googoogle stugoogley,  googleay googleay up.”中的所有“google”替换成“d”,就得到了明文“good good study, day day up.”。

您肯定已经注意到了,我们在进行加密和解密时使用的密钥必须是相同的,例如在上例中,加密和解密都必须使用相同的密钥“google”。所以像“景氏替换加密算法”这种就被称为对称加密算法。目前最为流行的对称加密算法是DES和AES,此外,对称加密算法还有IDEA、FEAL、LOKI、Lucifer、RC2、RC4、RC5、Blow fish、GOST、CAST、SAFER、SEAL等。WinRAR的文件加密功能就是使用的AES加密算法。

非对称加密

非对称加密算法是一类与众不同的加密算法,它的密钥不是1个,而是2个(一对),我们先姑且称它们为密钥K1和密钥K2。非对称加密算法的特点是,如果用密钥K1进行加密,则有且仅有密钥K2能进行解密;反之,如果使用密钥K2进行了加密,则有且仅有密钥K1能进行解密。注意“有且仅有”的意思——如果用密钥K1进行了加密,是不能用密钥K1进行解密的;同样,如果用密钥K2进行了加密,也无法用密钥K2进行解密。这是一个非常重要的特性,至于如何在实际中运用这个特性,请看下文。

我想给Clark传送一个AV小电影,又怕被他的老婆发现......

话说俺得了一个很不错的AV小电影,想通过网络传送给Clark,可是又怕被他的老婆发现(因为Clark的老婆是一个超级黑客,她可以使用sniffer技术截获任何通过网线传送给Clark的数据。别跟我说用VPN,它超出了本文讨论的范围),怎么办呢?对了,我们需要一个“将数据搞乱掉”的技术——加密技术。我先使用WinRAR对小电影进行压缩,然后加上密码“TswcbyyqjsjhfL”(还记得么?WinRAR的文件加密功能使用的是叫作AES的对称加密算法)。接着,将这个加密后的文件通过QQ传送给Clark。然后,兴冲冲地拨打Clark的手机:
“喂?Clark么?好久不见,呵呵......我给你发了个好东东呦,在QQ上,收到没?......密码是TswcbyyqjsjhfL,对,就是天生我才必有用,千金散尽还复来的首字母,第一个和最后一个字母要大写呦......”
可是,Clark,我是真的不知道你的老婆大人刚刚就在你的身边呀!而且你也知道,我打电话从来都是喜欢很大声的......呜呜呜......
在Clark跪了一夜的搓衣板之后,我们都明白:如果是已经保存在自己硬盘上的文件,使用对称加密技术进行加密是没有问题的;如果是两个人通过网络传输文件,使用对称加密就很危险——因为在传送密文的同时,还必须传送解密密钥。我们需要一个与众不同的加密算法,一个不需要传递解密密钥的加密算法。非对称加密正好可以满足我们的需要。基本思路是这样的:首先,生成一对满足非对称加密要求的密钥对(密钥K1和密钥K2)。然后,将密钥K1公布在网上,任何人都可以下载它,我们称这个已经公开的密钥K1为公钥;密钥K2自己留着,不让任何人知道,我们称这个只有自己知道的密钥K2为私钥。当我想给Clark传送小电影时,我可以用Clark的公钥对小电影进行加密,之后这个密文就连我也无法解密了。这个世界上只有一个人能将密文解密,这个人就是拥有私钥的Clark。

后来......

后来,Clark痛定思痛,决定申请一个数字证书。流程是这样的:首先,登录当地的数字证书认证中心网站,填表->出示个人有效证件原件和复印件->缴费->等待数字证书认证中心制作数字证书->领取数字证书。如果您的公司需要申请大量的数字证书,还可以与认证中心的销售人员商量,先领取免费的试用版的数字证书供技术人员试用。
后来的后来,我又得到了一本电子版的不良漫画,当然,我又想到了Clark。我先在数字证书认证中心下载了Clark的公钥证书(就是一个含有公钥信息的文件),使用非对称加密算法对不良漫画进行加密,再将密文通过QQ传送给Clark。然后,我兴冲冲地拨打Clark的手机:
“喂?Clark么?好久不见,呵呵......我给你发了个好东东呦,在QQ上,收到没?......已经用你的公钥加密了。用你的私钥解密就行了^_^”
Clark兴冲冲地插入他的私钥(忘了说了,私钥并不是一个文件,而是一个USB设备,外形就跟U盘一样,至于为什么要这样,下一篇再说),解密,然后开始看漫画,完全没察觉他的老婆大人就在身后......

Clark,俺这个月手头有点紧......

唉,这个月买了太多的书,到月底揭不开锅了。正巧在QQ上遇到了Clark:
1-2-3:“Clark,我需要200两纹银,能否借给我?”
Clark:“没问题。我这就给你转账。请给我一张借条。”
1-2-3:“太谢谢了,我这就用Word写一个借条给你。”
然后,我新建一个Word文档,写好借条,存盘。然后,然后怎么办呢?我不能直接把借条发送给Clark,原因有:
    1. 我无法保证Clark不会在收到借条后将“纹银200两”改为“纹银2000两”。
    2. 如果我赖账,Clark无法证明这个借条就是我写的。
    3. 普通的Word文档不能作为打官司的证据。
好在我早就申请了数字证书。我先用我的私钥对借条进行加密,然后将加密后的密文用QQ发送给Clark。Clark收到了借条的密文后,在数字证书认证中心的网站上下载我的公钥,然后使用我的公钥将密文解密,发现确实写的是“借纹银200两”,Clark就可以把银子放心的借给我了,我也不会担心Clark会篡改我的借条,原因是:
    1. 由于我发给Clark的是密文,Clark无法进行修改。Clark倒是可以修改解密后的借条,但是Clark没有我的私钥,没法模仿我对借条进行加密。这就叫防篡改
    2. 由于用我的私钥进行加密的借条,有且只有我的公钥可以解密。反过来讲,能用我的公钥解密的借条,一定是使用我的私钥加密的,而只有我才拥有我的私钥,这样Clark就可以证明这个借条就是我写的。这就叫防抵赖
    3. 如果我一直赖着不还钱,Clark把我告上了法庭,这个用我的私钥加密过的Word文档就可以当作程堂证供。因为我国已经出台了《中华人民共和国电子签名法》,使数字签名具有了法律效力。
您一定已经注意到了,这个使用我的私钥进行了加密的借条,具有了防篡改、防抵赖的特性,并且可以作为程堂证供,就跟我对这个借条进行了“签名”的效果是一样的。对了,“使用我的私钥对借条进行加密”的过程就叫做数字签名。(由于数字签名算法的速度比较慢,所以在实际对文件签名的过程比上面提到的方法稍稍复杂一些,这个在下一篇再讲)。

我是1-2-3,我真的是1-2-3,我是真的1-2-3

正如您已经知道的,Clark的老婆是一名超级黑客——就是传说中能用计算机作任何事的人。这不,不久前她就轻松入侵了QQ数据库,下载了Clark的所有好友的ID和密码以及聊天记录。然后,时不时地伪装成Clark的好友跟Clark聊天,搞得Clark最近总是神经兮兮、疑神疑鬼的。这不,昨天我在QQ上遇到了Clark:
1-2-3:“Clark,最近还好吧?我又搞到一个好东东呦,要不要?”
Clark:“48475bbt556”
Clark并不是疯掉了,那个“48475bbt556”也不是我跟Clark之间的什么通关暗语。这个“48475bbt556”就是Clark在键盘上胡乱敲上去的,不过,我却知道Clark是什么意思。我立刻把“48475bbt556”粘贴到Word里,然后用我的私钥对这个Word文档加密,再将这个Word文档发送给Clark。Clark在那边用我的公钥将Word文档解密,打开,发现里面写的就是“48475bbt556”,就知道QQ这边的确就是真正的我本人了。因为拥有我的私钥的人在这个世界上就只有我一人而已,Clark的老婆大人就是再神通广大也模仿不了,这就是数字签名的验证功能。

顺便提一句,不但人可以申请数字证书,设备(例如Web服务器)也可以申请数字证书(叫作设备证书)。利用数字签名的验证功能,就可以验证服务器的身份了,这可是防钓鱼的终极解决方案呦。

思考题

如果Clark每次都向我发送相同的字符串(例如“1234”),而不是每次在键盘上胡乱地(随机地)敲一些字符,Clark的老婆就会利用Clark的懒惰模仿我跟Clark聊QQ,这是为什么?

本篇到此结束,下一篇将介绍电子签名技术的产品&设备。
posted on 2007-09-17 10:50 1-2-3 阅读(7660) 评论(82)  编辑 收藏 所属分类: 白话数字签名系列

FeedBack:
#1楼  2007-09-13 16:36 oxsoft.cn [未注册用户]
快入正题
  回复  引用    
#2楼  2007-09-13 17:05 jkfh [未注册用户]
这种写法才叫通俗,俗却不失雅。
  回复  引用    
#3楼  2007-09-13 17:10 aspnetx      
好文,绝对比教科书中讲的生动.
期待下篇
  回复  引用  查看    
#4楼  2007-09-13 18:56 菌哥      
赏心悦目啊,读得太爽了!
  回复  引用  查看    
#5楼  2007-09-13 20:30 暗香浮动      
关键是有不良漫画撑腰哦 哈哈
不错的。
  回复  引用  查看    
#6楼  2007-09-13 23:29 zzff [未注册用户]
期待2,3..................
  回复  引用    
#7楼  2007-09-13 23:56 静水≈深流      
不错 通俗易懂
  回复  引用  查看    
#8楼  2007-09-13 23:59 Artech      
不错,我喜欢这样的文章,再接再厉^_^
  回复  引用  查看    
#9楼 [楼主] 2007-09-14 08:08 1-2-3      
谢谢大家的鼓励。这个...由于这几天忙着发不良漫画,这个礼拜的活还没干完呢,弄不好就要挨批了,所以下面几篇要过几天再写了,抱歉,抱歉。
  回复  引用  查看    
#10楼  2007-09-14 08:21 杨其仲      
@1-2-3

写的非常好啊,我看书看了好几遍数字签名,还跟同事聊了聊数字签名,不过收获不是很大,不是我自己理解不了书上的意思,就是同事讲不明白数字签名的意思,不过今天看了您的作品,感觉非常的通俗易懂,在此谢过了,期待下一个作品哦.赞一个.
  回复  引用  查看    
#11楼  2007-09-14 08:28 阿武      
不错, 好文
  回复  引用  查看    
写的很好,非常有用
  回复  引用    
#13楼  2007-09-14 09:29 z [未注册用户]
写得太好了!通俗易懂!
  回复  引用    
#14楼  2007-09-14 10:17 笑望人生      
嗯,介绍一下,我喜欢到CA365去申请证书,没有必要到国家的什么证书中心,因为他们颁发的证书也是不被操作系统信任的。他们也根本不颁发Thawte和VeriSign这样全球通用的证书。

这样就导致即使你的服务器安装了所谓的“XXCA中心”颁发的证书,或者你的代码用了这些证书签名,还是没有用,没有任何的操作系统会信任你的这个证书,因为证书颁发者就不被信任的。

那么去向那些CA中心每年交钱干什么呢?

我们用的证书就是从http://www.ca365.com/ (中国数字认证网)去下载的证书,只要下载了中国数字认证网的公钥证书并安装到IE的“受信任的根证书颁发者”位置,就可以随意申请证书,什么证书都可以。
  回复  引用  查看    
#15楼 [楼主] 2007-09-14 10:36 1-2-3      
@笑望人生
太谢谢了,我这就去看看。
  回复  引用  查看    
#16楼  2007-09-14 11:54 金戈铁马      
不错,通俗易懂,期待下文出炉。
  回复  引用  查看    
#17楼  2007-09-14 12:32 GodSpeed      
太谢谢了,非常期待下文

  回复  引用  查看    
#18楼  2007-09-14 13:41 hesicong [未注册用户]
很不错啊~!
  回复  引用    
#19楼  2007-09-14 19:52 Zhuang miao      
很形象啊!不错不错
  回复  引用  查看    
#20楼  2007-09-14 22:29 Edward123 [未注册用户]
Excellent!!!
终于明白非对称了
  回复  引用    
#21楼  2007-09-15 00:39 啊不才      
太精彩了,真是良师啊,解决了我一直明白,但是不是很清楚的问题啊
  回复  引用  查看    
#22楼  2007-09-15 08:45 蛙蛙池塘      
借条那个,
应该先算出借条word的哈希值,然后私钥加密这个哈希值。(摘要算法)
然后随机生成一个字符串,并用clark的公钥加密。(非对称加密)
把上一步生成的数据做为密钥,然后把借条和第一步加密后的哈希值加密(对称密钥)

clark收到后,先用自己的私钥解密对称加密的密钥,然后再解密文,然后再用你的公钥解开哈希值和解开的word算出的哈希值进行对比,如果哈希值对,那就是没有人篡改过。
  回复  引用  查看    
#23楼  2007-09-15 14:13 邹健      
生动顶之。。。。
  回复  引用  查看    
好文, 居然我可以看完, 太佩服我自己了 :)
  回复  引用    
#25楼  2007-09-15 16:41 大石头      
看过这么多数字签名,这是最简单易懂的了
  回复  引用  查看    
#26楼  2007-09-15 16:45 大石头      
◎笑望人生

就算是ca365,还是要安装根证书的。彼此彼此
  回复  引用  查看    
#27楼  2007-09-16 22:09 Leepy      
写得太棒了,都能够看得懂!
  回复  引用  查看    
水平就是这样的
  回复  引用    
#29楼 [楼主] 2007-09-17 08:05 1-2-3      
@蛙蛙池塘
您说的非常对。我是觉得一下子将这么多不容易明白,想在下一篇在扩展的:)
  回复  引用  查看    
#30楼 [楼主] 2007-09-17 10:56 1-2-3      
@笑望人生
多亏了你的回复,使我突然想到数字签名的认证功能居然忘了写了,刚刚补上去,实在抱歉呵。
  回复  引用  查看    
#31楼  2007-09-17 11:00 Zhuang miao      
貌似前几天发的
  回复  引用  查看    
#32楼 [楼主] 2007-09-17 11:03 1-2-3      
@Zhuang miao
是我忘了写数字签名的“认证”功能,所以刚刚加了上去。
  回复  引用  查看    
#33楼  2007-09-17 11:26 kingren [未注册用户]
有点像老外的风格,非常好!

  回复  引用    
#34楼  2007-09-17 11:26 Clark Zheng      
晕,为什么起的名字叫Clark呢。。。
  回复  引用  查看    
#35楼 [楼主] 2007-09-17 11:31 1-2-3      
@Clark Zheng
因为很喜欢Clark这个名字(让我想起了Fight97里那个戴着墨镜的酷酷的Clark),所以借用了一下,您不会介意吧?
  回复  引用  查看    
#36楼  2007-09-17 11:35 Clark Zheng      
@1-2-3
其实也没什么好介意的,只是忽然看到满篇的Clark有点晕了
  回复  引用  查看    
#37楼  2007-09-17 13:15 巫云      
把小电影给我传一份吧,不用加密。^_^
  回复  引用  查看    
#38楼  2007-09-17 15:10 A1 [未注册用户]
還以爲文中的 Clark 就是 Clark Zheng,原來不是。;-)
  回复  引用    
#39楼 [楼主] 2007-09-17 15:25 1-2-3      
@A1
是Clark Zheng给了我灵感。
  回复  引用  查看    
#40楼 [楼主] 2007-09-17 16:04 1-2-3      
@A1
怎么一般是繁体,一半是简体?难道你就是传说中的......
  回复  引用  查看    
#41楼  2007-09-17 16:31 aspnetx      
如果Clark每次都向我发送相同的字符串(例如“1234”),而不是每次在键盘上胡乱地(随机地)敲一些字符,Clark的老婆就会利用Clark的懒惰模仿我跟Clark聊QQ,这是为什么?


--------------------------------
我个人的理解,他老婆可以截获你用私匙加密后的文件
这样,其是也就必须要求calrk每次发送的字符串都是随机的而不是固定的,这样他老婆的截获就没有意义了.因为她不知道下次clark会再发什么.
  回复  引用  查看    
#42楼  2007-09-17 17:22 银河      
to 楼主:
> 景氏替换加密算法:将明文中的所有的字母“d”替换成密钥。
这个算法是不严谨的。如果明文中包含密钥的话,就糟糕了。
例如:
密钥是: google
明文是: google
加密后的密文的是: google
对密文进行解密得到的明文是: d
这不乱套了吗?

  回复  引用  查看    
#43楼  2007-09-17 17:37 xiao_p      
其实 我比较看好 calrk的老婆。。。
  回复  引用  查看    
#44楼  2007-09-17 19:42 kus_fei [未注册用户]
谢谢这么通俗易懂的解释,让我受益匪浅
  回复  引用    
#45楼 [楼主] 2007-09-18 08:04 1-2-3      
@aspnetx
谢谢您的回复。
最近心情好些没?其实前一段时间我在压力大、又很累的时候心情也是十分不爽的,过了那个劲就好了。
  回复  引用  查看    
#46楼 [楼主] 2007-09-18 08:09 1-2-3      
@银河
您说得很对,所以说加密算法不是那么简单的,不然密码学也不会是一门单独的学科了。
  回复  引用  查看    
#47楼  2007-09-18 08:25 aspnetx      
@1-2-3
感谢你最近一直以来的关心
现在正在慢慢调整

另不晓得我的理解对不对?
  回复  引用  查看    
#48楼 [楼主] 2007-09-18 08:56 1-2-3      
@aspnetx
嗯,和我心中的答案是一样的。
  回复  引用  查看    
#49楼  2007-09-19 08:46 慢一拍      
可否讲讲 “数字证书”
  回复  引用  查看    
#50楼 [楼主] 2007-09-19 09:21 1-2-3      
@慢一拍
我正在写第2篇呢,谢谢你的提醒,我会加进去的。
  回复  引用  查看    
#51楼  2007-09-19 10:31 Icebird      
思考题

如果Clark每次都向我发送相同的字符串(例如“1234”),而不是每次在键盘上胡乱地(随机地)敲一些字符,Clark的老婆就会利用Clark的懒惰模仿我跟Clark聊QQ,这是为什么?

因为Clark的老婆是一个超级黑客,她可以使用sniffer技术截获任何通过网线传送给Clark的数据。

  回复  引用  查看    
#52楼  2007-09-19 16:44 Jeffers Yuan      
不错,思路非常清晰!
  回复  引用  查看    
#53楼  2007-09-21 09:14 ddr888      
娶老婆要慎重
  回复  引用  查看    
#54楼  2007-10-09 18:32 Eri [未注册用户]
非常不错的文章!!!
支持楼主。
  回复  引用    
#55楼  2007-10-19 16:51 andy wang [未注册用户]
不错,tks
  回复  引用    
#56楼  2007-10-31 10:45 冬虫草      
才华.........
  回复  引用  查看    
#57楼  2007-11-12 10:47 jingjing [未注册用户]
忽如一夜春风来~千树万树梨花开
  回复  引用    
#58楼 [楼主] 2007-11-12 11:27 1-2-3      
@jingjing
What?
  回复  引用  查看    
#59楼  2007-11-21 16:19 lifffgf [未注册用户]
好文!!!!
  回复  引用    
#60楼  2007-12-12 22:50 alvin yao [未注册用户]
豁然开朗~~
  回复  引用    
#61楼  2007-12-17 07:44 Microshaoft      
不错
你好像少了一种最安全的场景,建议你补上
假设: 有数字证书A和数字证书B,A向B借了钱,
并出具密文欠条,交由C保管

密文欠条=B.PublicKey.Encrypt(A.PrivateKey.Encrypt(明文欠条))
这种场景最安全:
A 能防 C 的偷窥明文借条
B 能防 A 的抵赖借条(防 A 一分钱都不还给 B)
A 能防所有人的篡改密文借条
B 能防 A(买通C) 的篡改密文借条(防 A 少还钱给 B)
  回复  引用  查看    
#62楼 [楼主] 2007-12-17 11:09 1-2-3      
@Microshaoft
非常感谢您的指教!
  回复  引用  查看    
#63楼 [楼主] 2007-12-17 12:00 1-2-3      
@Microshaoft
关于“B 能防 A(买通C) 的篡改密文借条(防 A 少还钱给 B)”我有些不太理解:A可以另写一张只欠一两银子的欠条,用A的私钥加密,然后再用B的公钥加密(因为B的公钥是可以在网上下载的),再买通C,替换掉原来的欠条不就达到了篡改的目的了么?
  回复  引用  查看    
#64楼  2007-12-26 22:53 Microshaoft      
@1-2-3


这个a买通C的例子的确不恰当

但是这的确是A主动给B数据(点对点)的最安全的方法

  回复  引用  查看    
#65楼 [楼主] 2007-12-27 08:46 1-2-3      
@Microshaoft
我还以为您不会再回来了呢,好高兴....
您所说的方法确实可以防C偷窥欠条的明文。防A买通C的方法,我想可不可以:
B.PrivateKey_Encrypt(A.PrivateKey_Encrypt(欠条))
就像合同要双方都签字才有效一样。这样做A和B两个人都无法买通C篡改欠条了。
  回复  引用  查看    
#66楼  2007-12-27 09:27 大石头      
呵呵,这样的话,所有人都可以偷窥借条明文了,因为A和B的公钥都是公开的,直接拿来解密就可以了。
相反,如果拿公钥来加密,就没有人可以偷窥了,但这个时候又有问题,A或者B都可以伪造借条了。
这就是矛盾所在啦,要不能保密,要么被伪造。

我们的目的,就是A和B都不能修改,出了他们以外,其它人不能偷看

我们来试试:
新欠条=B.PrivateKey_Sign(A.PrivateKey_Sign(欠条))
这样,AB都不能改了
然后随便拿一个人的公钥来加密,第三方就看不到了
  回复  引用  查看    
#67楼  2007-12-27 09:29 大石头      
不能修改是数字签名的范围,而不是加密解密的范围。
还有,一般不用私钥加密数据的。

我要防止别人修改我的东西,声明这东西是我的,我就用我的私钥来签名数据。

你要给我发安全信息,防止第三方窃听,你就用我的公钥来加密,我接收后才用私钥来解密。
  回复  引用  查看    
#68楼  2008-01-27 13:20 zzuyongp [未注册用户]
通俗但我还没完全懂。
  回复  引用    
太有才啦!!!
  回复  引用    
#70楼 [楼主] 2008-02-22 09:37 1-2-3      
@xinjiangjiang
谢谢,一定要看第二篇呀,一、二篇是一个整体,我现在特后悔把它们拆成了两篇。
  回复  引用  查看    
#71楼  2008-03-17 17:00 闫思雨 [未注册用户]
谢谢楼主.这篇文章太好了,看了他让我真正明白了什么是数字签名以及怎么样签名,太谢谢了!
  回复  引用    
#72楼  2008-03-17 17:03 闫思雨 [未注册用户]
期待着你的下一篇文章的问世!
  回复  引用