您的位置:早安暖心话>美文美句>个性签名>正文

理解数字签名和加密通信等技术的关键算法哈希算法的介绍

人气:225 ℃/2022-01-13 17:13:06

核心提示:哈希,英文是 hash ,本来意思是切碎并搅拌,有一种食物就叫 Hash ,就是把食材切碎并搅拌一下做成的。哈希函数的运算结果就

哈希,英文是 hash ,本来意思是切碎并搅拌,有一种食物就叫 Hash ,就是把食材切碎并搅拌一下做成的。哈希函数的运算结果就是哈希值,通常简称为哈希。哈希函数有时候也翻译做散列函数。

根据维基百科的定义,哈希函数要做的事情是给一个任意大小的数据生成出一个固定长度的数据,作为它的映射,所谓映射就是一一对应。

第一是安全,给定数据 M 容易算出哈希值 X ,而给定 X 不能算出 M ,或者说哈希算法应该是一个单向算法。

第三是长度固定,给定一种哈希算法,不管输入是多大的数据,输出长度都是固定的。

但是仔细想一下,如果哈希的长度是固定的,也就是取值范围是有限的,而输入数据的取值范围是无限的,所以总会找到两个不同的输入拥有相同的哈希,所以,哈希函数的安全性肯定是个相对概念。

如果出现了两个不同输入有相同输出的情况,就叫碰撞,collision 。不同的哈希算法,哈希位数越多,也就基本意味着安全级别越高,或者说它的抗碰撞性就越好。

再来语录哈希函数的主要作用,哈希的独一无二性,保证了如果数据在存储或者传输过程中有丝毫损坏,那么它的哈希就会变。哈希函数的最常见的一个作用就是进行完整性校验( Integrity Check ),完整的意思是数据无损坏。

哈希有很多不同的称呼,有时候叫Digest(摘要),有时候叫Checksum(校验值),有时候叫Fingerprint(指纹),其实说的意思差不多,也就是说哈希可以用来代表数据本身。

例如朋友给我传递一份数据,传完之后,我有一份,他手里也有一份,如果两份数据的哈希值是一样的,那么这两份数据的内容就是一样的,或者说可以认为传递过程中数据没有损坏,我手里拿到的数据是完整的。

所以说,哈希函数的基本作用就是给大数据算出一个摘要性的长度固定的字符串,也就是所谓的哈希。

哈希算法有很多种,例如md5、SHA256等等,但是它们总体上可以分为两大类,一类是普通哈希,另外一类是加密哈希(cryptographic hash function)。

业界可以找到的哈希算法是有很多种的。我们可以大致按照输出的哈希的长度来聊,虽然哈希算法的安全性也不单单是跟哈希长度有关,但是一般哈希值越长也就是越安全。

例如CRC-32的输出是32 bit,也就是32位的二进制数,表示成十六进制就是8位。MD5算法的哈希是32位16进制数,比较常见;SHA-256是256个Bit ,十六进制表示就是64位。

这些算法可以分成普通哈希和加密哈希算法,两种算法之间没有特别明显的区别。例如本来MD5就是设计出来做加密哈希的,但是后来由于计算机的发展MD5出现碰撞的可能性就很大了,所以目前MD5只能当普通哈希用,用来做数据校验。

加密哈希跟普通哈希的区别就是安全性,一般原则是只要一种哈希算法出现过碰撞,就会不被推荐成为加密哈希了,只有安全度高的哈希算法才能用作加密哈希。

同时加密哈希其实也能当普通哈希来用,Git版本控制工具就是用SHA-1这个加密哈希算法来做完整性校验的。一般来讲越安全的哈希算法,处理速度也就越慢,所以并不是所有的场合都适合用加密哈希来替代普通哈希。

在密码学领域,有两个算法都是把数据做输入,而输出是一段谁也看不懂的数据。其中一个就是哈希算法,另外一个是加密算法。注意,哈希算法和加密算法是完全不同的。

哈希算法的输出长度是固定的,而加密算法的输出长度是跟数据本身长度直接相关的。

哈希是不可以逆向运算出数据的,而加密算法的输出是要能够逆向运算出数据的。

这里主要是强调加密哈希算法只是被用在加密过程中,但是它本身不是加密算法。

总之,哈希算法有很多种,长度越长的算法基本认为越安全。安全度低的哈希算法被认为是普通哈希算法,主要用来做完整性校验。安全度高的被称为加密哈希算法,会被用在加密算法中。

所谓的高低都是相对概念,例如MD5曾经属于加密哈希,但是目前只能用来做安全校验了。而从2017年开始,SHA-1算法生成的加密证书也会被各大浏览器拒绝了。目前最流行的加密算法是SHA-2,但是跟SHA-1不同,SHA-2 不是一种算法,而是一系列算法的统称,其中就包括咱们之前提过的SHA-256。

  • 表达人生感悟的句子大全

    ★☆做孩子最失败的,就是既厌恶父母设计的人生,又怕走错路辜负了父母的期望。很走心的干净短句 三观超正超干净的文案写给心累的自己 活得太累太憋屈的说说★☆ 希望是本无所谓有,无所谓无的。这正如地上的路,...

    人生感悟 浏览:604次
  • 人类应不应该保证宠物的那些权益

    01这是一个关于伦理学问题的讨论。就很早以前,就有对于实验室所用动物的权益问题的讨论。讨论的主要内容是是否要尽量减少动物痛苦的处死动物。这个议题当然是得到了肯定的回答,在全世界的动物实验中,大家都遵从...

    生活常识 浏览:190次
  • 皮影戏起源于哪个朝代?

    01西汉皮影戏起源于西汉,兴于唐朝,盛于清代,元代时期传至西亚和欧洲,可谓历史悠久,源远流长。2011年,中国皮影戏入选人类非物质文化遗产代表作名录。皮影戏是中国民间古老的传统艺术,老北京人都叫它&l...

    生活常识 浏览:928次
  • 关于元旦祝福的句子50句精选

    1、抓一把开心,采一串欢笑,摘一篓快乐,添一盆好运,加一袋幸福,揉捏成一个喜庆的大圆蛋,借短信空运给你,祝你财源滚滚,梦想圆圆!元旦快乐!新年祝福语2、新年好!祝新年心情好,身体好,一切顺心。3、总有...

    句子大全 浏览:738次
  • 人生哲理的句子,境界高精辟句子

    1、再坚强的男人,也有脆弱,需要女人懂;再强势的女人,也有柔弱,需要男人疼!女人的委屈,需要男人呵护!男人的眼泪,需要女人安慰;因为女人的善解人意,男人才有雄心壮志;因为男人的体贴入微,女人才有任劳任...

    经典说说 浏览:578次
Copyright © 2012-2024 早安暖心话 All Rights Reserved
一个致力于分享各类精美句子的心情说说语录网站,是您发朋友圈、发微博、发动态的好帮手!