主页 > imtoken钱包安全吗 > 如何为您的文件设置唯一编号?

如何为您的文件设置唯一编号?

imtoken钱包安全吗 2023-03-09 07:06:09

系统设定的比特币数量_比特币数量为什么是2100_比特币目前的数量

当你上学时,班主任会给你一个学号; 毕业上班时,HR会给你一个工号; 回家可以查门牌号; 去桑拿,前台会给你一张手卡;

从一个管理者的角度来看,要想把一堆东西管理得井井有条,就得把它们整理好。 这样,协同系统就可以更好地定位目标和服务。 不然课程安排不了,工资计算不出来,快递找不到你家,甚至洗完澡check out的时候纠结半天,因为前台想不通你吃了多少果盘。

不行。要解决两个问题:

1)可以定位;

2)没有重数。

小规模数字,如班级学号,可以解决从1、2、3……开始的问题; 中型号码,如大型企业员工号码,需要在号码前加一个字母:A120908; 大规模编号,比如身份证系统,无论谁进来,都会在你的身份证上贴上统一的18位数字标签。

但是,如果要给网上所有的文件编号,标签应该怎么贴呢? 那是星辰大海,如果按照老办法排序,一千年后只能给你现在看的文章编号。 以及如何解决重数问题? 公务员是否专门负责处理此事?

有没有更有效的编号方法? 是的,答案是哈希算法。

系统设定的比特币数量_比特币目前的数量_比特币数量为什么是2100

1、什么是哈希算法?

散列算法将文件映射为更短的固定长度字符串(散列值)。 --维基百科

任何计算机文件都由电子信号组成。 简单地说:0和1组成了整个信息世界,即:比特世界。

系统设定的比特币数量_比特币数量为什么是2100_比特币目前的数量

比如我们眼中的香肠图片在比特世界中是这样的:01010111001111010101100101110101...

我没写完整,几万人,一屋子。 简而言之,数字 0 和 1 排成一条长线。 这就是这张图在位世界中的本来面目。 我们将这一长行称为“二进制文件”。

我们把这条长龙剁碎,搅拌后得到哈希值:4f7f56ecc0b725893b59f6428258304a94e40f48

哈希值是哈希算法的最终结果,是文件在网上的编号。 如果这张图片是人,那么哈希值就是TA的指纹和TA的身份证号码。

系统设定的比特币数量_比特币目前的数量_比特币数量为什么是2100

你不需要理解哈希算法是如何把一个二进制文件变成一个哈希值的,那是给数学家的,你只需要把哈希函数想象成一台屠宰机,你就什么都明白了:这台机器把任何一头猪都剁碎分成等长的香肠,hash就是这根香肠的图案。

除了所有散列的长度都相同这一事实之外,这些模式还有一些其他漂亮的属性,允许它们在位世界的各个方面轻松使用。

2、哈希值的特点

如果您看到两个文件具有完全相同的哈希值系统设定的比特币数量,您可以立即判断它们是同一个文件。 这也是哈希值最基本的特征:同一个文件的哈希值相同,即复制的文件与原文件的哈希值相同。

这很好理解,因为它们是两只一模一样的猪,用同样的方法做出来的香肠应该是一模一样的。 但是,如果两只猪在其他方面完全相同,即使它们的尾巴尖端只有一根毛发,香肠的质地也会完全不同。

源文件略有改动,哈希值已经面目全非。

这个特性使得标有哈希值的文件无法被篡改,因为即使只是篡改了上图的一个像素,也能立即被识别——哈希值会完全不同。

此外,哈希值还具有以下特点:

系统设定的比特币数量_比特币数量为什么是2100_比特币目前的数量

一、不可逆推理:哈希算法在具备编码功能的同时,也作为一种加密算法存在。 也就是说,你无法通过分析哈希来判断源文件长什么样,换句话说:你无法通过看香肠的质地来猜测猪长什么样。

二、计算速度极快:对一部20G的高清电影和一个5K的文本文件进行哈希计算的复杂度是一样的,计算量极小,0.1秒内即可得出结果。 也就是说,不管这头猪多肥,骨头多硬,做一根香肠也不过是眨眼的功夫。

有可能以极快的速度用一个不重复的数字对你的文件进行编码,而且没有人可以通过这个数字来推断出文件的本来面目。 这就是哈希算法的意义。

剁碎和搅拌文件的过程就是哈希算法,剁碎和搅拌的动作叫做加密和压缩,不同的料理师傅刀法不同,所以哈希算法有很多,比如:CRC-32、MD5和SHA1……虽然名字是唬人的,但他们之间的区别也只是张家高手和李家高手之间的区别而已系统设定的比特币数量,不同的高手之间的刀法是不一样的,那么差距在哪里呢?

3.什么是好的哈希算法?

上面维基百科的定义:哈希算法只是简单地将一个文件映射到一个哈希值,“映射”就是投影。 既然是投影,不同的人总会有相同的影子。 所以最终,从数学意义上讲,哈希会出现双数,但双数的概率很小,我们难以理解地接近于零。

This infinitely close to zero probability is similar to the probability that you will suddenly be elected president of the United States tomorrow morning, you have won the lottery every day since you were a child, or the probability that 49 aliens will form a 7×7下一秒就出现在你的面前…… 但如果发生了怎么办? 我们称这种情况为碰撞。

哈希算法越好,发生碰撞的概率就越低。

比特币目前的数量_比特币数量为什么是2100_系统设定的比特币数量

但如果只是想达到“少碰撞”的目的,其实很容易实现,只需要将hash值做的比较长即可。 但是哈希值最终并不是一个纯数字,而是数字和字母的组合,目的只有一个:缩短哈希值的长度,以便于实际应用。 毕竟,没有人会带着 1 米长的香肠旅行。

如果你想自己搭建一个小图片网站,使用CRC-32短哈希算法对图片进行标注就可以了,可以为你提供42亿个不同的标签,文件名长度(哈希值)永远只有8 位数字。

如果你要检索论文库,MD5算法就够用了:哈希值稍长,但几乎没有重复,可以让你做一个足够准确的索引。

商业级加密,可以用SHA256:哈希值稍长,但极难逆向:需要全人类算力总和的千万倍……可能还算不出来。

所以,不管是CRC-32、MD5、SHA256……没有绝对最好的哈希算法。 只有在衡量不同场景下的成本效益后,才会存在相对最优。

结语

二十年前,如果你去图书馆找一本叫《美国种族简史》的书,你不得不思考它是属于宗教的还是属于历史的,然后跑到不同的区域去查格子。 现在,只需轻按一下,整个屏幕就会告诉您是否有这本书,如果有,它在哪里。

使用图书馆使用的小规模搜索技术进行标记:以前是手动分类,现在是数据库。

比特币目前的数量_系统设定的比特币数量_比特币数量为什么是2100

但是,互联网层面的大规模搜索,不得不依靠哈希算法来生成索引标签。 例如谷歌等搜索引擎、迅雷等下载软件、比特币等加密货币……都可以通过哈希值准确定位目标。

哈希算法虽然乍一看不起眼,只是弄出一串奇怪的字符,但它却是比特世界的一块砖头,可以盖起高楼大厦,让比特世界更有秩序。 即使是离你很远的信息,也可以借助哈希算法触手可及。

PS 从今天开始,您可以对自己进行哈希运算 - 哈希工具

1.哈希文件:

系统设定的比特币数量_比特币数量为什么是2100_比特币目前的数量

对之前的香肠图片进行哈希,请注意,底部以“4f7f”开头的哈希值是之前的哈希值。

2.哈希字符:

系统设定的比特币数量_比特币数量为什么是2100_比特币目前的数量

字符“你好”使用SHA256哈希算法得到的哈希值为:185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

恭喜,您今天在数字世界中又向前迈进了一步。