选择擅长的领域继续答题?
{@each tagList as item}
${item.tagName}
{@/each}
手机回答更方便,互动更有趣,下载APP
提交成功是否继续回答问题?
手机回答更方便,互动更有趣,下载APP
你好,哈希的英文是Hash,中文可翻译成散列或者哈希,它其实就是一个算法,最简单的算法就是加减乘除,比方,我设计个数字算法,输入+5=输出,比如我输入1,输出为6;输入2,输出为7。哈希算法不过是一个更为复杂的运算,它的输入可以是字符串,可以是数据,可以是任何文件,经过哈希运算后,变成一个固定长度的输出,该输出就是哈希值。但是哈希算法有一个很大的特点,就是你不能从结果推算出输入。比如我们从服务器下载一个软件,如果这个软件被黑客更改了,那么我们下载的就不是原来的软件,如果是银行客户端可能就会有账户被盗的风险,但是有了哈希运算后,我们可以把下载的软件经过哈希运算后得到哈希值,然后把哈希值跟软件发行方公布的哈希值对比,就知道软件是否有被篡改了。同样比如我们登陆网站的密码也是一个很好的哈希运用,网站服务器如果读取的是我们的密码,那不是很危险吗,有了哈希,服务器只用匹配哈希就可以了,而不用读取我们的隐私。Hash一般称为哈希或散列函数,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。}