哈希算法和非对称加密算法的理解

1、哈希算法是什么?

哈希算法又叫散列算法,是将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。它的原理其实很简单,就是把一段交易信息转换成一个固定长度的字符串。

这串字符串具有一些特点:

1.信息相同,字符串也相同。2. 信息相似不会影响字符串相同。3. 可以生成无数的信息,但是字符串的种类是一定的,所以是不可逆的。

让我们举个例子理解一下:如果我们要搜一张图片,在没有人工标注的情况下,于巨大的图库中想要以图搜图是一件及其庞大而又困难的工作量。

可是在训练集上,通过哈希算法,可以得到一系列哈希函数,通过这些函数,可以将每一张图片转化成一串0~1的编码。

比较神奇的是,编码串相似的图片对应的语义也是相似的。这就是简单的哈希算法在生活中的简单应用。

哈希算法有什么用途?

哈希算法可以检验信息是否是相同的,这样的优势可以节省重复文件传送的时间。

举一个生活中很平常的例子,我们在生活工作中会使用一些软件给别人传送文件数据,如果有人传送了一份文件给一个人,然后又有一个人传送了相同的文件给了另外一个人,那么这个社交软件在第二次传送文件的时候会对比两次传送的哈希值,发现是相同的,该软件就不会再次上传文件给服务器了。

除此之外,哈希算法还可以检验信息的拥有者是否真实。

比如,我们在一个网站注册一个账号,如果网站把密码保存起来,那这个网站不论有多安全,也会有被盗取的风险。但是如果用保存密码的哈希值代替保存密码,就没有这个风险了,因为哈希值加密过程是不不可逆的。

哈希算法会不会被破解?

从理论上说,哈希值是可以被获得的,但是对应的用户密码很难获得。假设一个网站被攻破,黑客获得了哈希值,但仅仅只有哈希值还不能登录网站,他还必须算出相应的账号密码。

计算密码的工作量是非常庞大且繁琐的,严格来讲,密码是有可能被破译的,但破译成本太大,被成功破译的几率很小,所以基本是不用担心密码泄露的。

当然,黑客们还可以采用一种物理方法,那就是猜密码。他可以随机一个一个的试密码,如果猜的密码算出的哈希值正好与真正的密码哈希值相同,那么就说明这个密码猜对了。

密码的长度越长,密码越复杂,就越难以猜正确。如果有一种方法能够提高猜中密码的可能,那么可以算是哈希算法被破解了。

比如说,例如原本猜中的概率是1/10000000000000,现在增加到了1/1000。如果每猜一个密码需要1秒,按照之前的概率猜,直到地球毁灭都可能没猜中,但后者只需要1小时就足够了。在这样的情况下,哈希算法就算是被破解啦。

2、非对称加密算法是什么?

对称加密算法是指在加密和解密时使用的是同一个秘钥。与对称加密算法不同,非对称加密算法需要公钥和私钥。公钥和私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。

非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。

而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,在通讯前不需要先同步秘钥,避免了在同步私钥过程中被黑客盗取信息的风险。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值