散列(Hash)和加密(Encryption)

三月 10, 2007 @ 1:43 上午 | 发表在 网络安全 | 留下评论

散列和加密是两个很容易混淆的概念,特别在中文里,我们会通常把它们统称为”加密”.但实际上,这是两个截然不同的东东,虽然他们的目的都是要防止原来的数据被人看到,他们却有两个独特的属性.

  • 散列是单向而加密是双向的.

当数据被Hash的时候,你保证别人无法用别的数据产生同样的结果,这样接收方收到你的数据,它只要运行同样的Hash函数,就可以确认这个数据确实来自于你,而不是某个人假冒你的名义发过来的.但同时,Hash的结果也不能被还原成原来的数据.否则的话,Hash的数据在网络上传递就没法保证安全.

而加密注定是双向的,收到的一方通过使用一个私有的钥匙(Key)就可以把数据还原.

  • 散列的结果是定长的,而加密的长度对应于原来的长度.

散列的结果通常都是定长的.比如说,不管输入的数据是多长,MD5的结果是128位,而SHA-1总是160位.而加密的结果通常是对应于输入长度的,长的数据会输出长的结果,短的则会输出短的结果.

Advertisements

发表评论 »

RSS feed for comments on this post. TrackBack URI

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

通过访问 WordPress.com 创建免费网站或博客.
Entries评论 feeds.

%d 博主赞过: