关于密码安全

目录

 

参考文献

Hash算法


参考文献

一次忘记密码引发的算法思考

一个安全的密码在数据库中的存储应当为密文且不可反向破解。但要做到这一点,应当对密码采取什么算法呢?

Hash算法

该算法有许多种实现,常见的有MD5,SHA256...

以MD5为例, MD5 Message-Digest Algorithm是一种被广泛应用的密码散列函数,可产生1个128位(16进制表示为32位)散列值,比如,在windows cmd中,它可以这样产生

C:\Users>echo -n mypassword2018 | md5sum
25742dd7c994c0932968219a34b28885 *-

这里要注意的是,Hash与加密Encrypt的区别

  • Hash 将目标文本转换为具有相同长度的不可逆字符串,也叫消息摘要,为一对多的关系(理论上,不同文本可能产生同一个哈希值,此时,称发生了"哈希碰撞"(collision))
  • Encrypt 将目标文本转换为具有不同长度的可逆密文,为一对一的关系

例子

  • 在网络支付中,假如我现在要从A帐户给帐户B转¥1000,交易信息在网络中传输,在此过程中,有可能被黑客给截持并篡改我们的数据,比如,将目标帐户改成黑客自己的帐户。这样,我们的金钱就被窃取了。如果使用哈希算法,就可在客户端时将转账信息进行处理,即将要加密的数据加上一个约定好的字符串一起hash,生成一个信息摘要。若在网络传输中不幸被黑客修改了目标帐户和转帐金额,等到了支付平台的服务器端,会将传输过来的信息和之前约定好的字符串再次进行哈希。然后和之前那个哈希比对,由于之前的数据已被篡改,所以验证不能通过,转帐失败,从而保证了我们的资金安全

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值