关于PHP加密的三种解释及特点:
信息加密:
背景:2011年12月被曝光的CSDN密码泄露事件中,网站安全措施不给力,导致用户数据库被黑客“拖库”,令人错愕的事数据库中的密码居然是明文保存,导致密码泄露,成为地下交易的商品
通常,为了保护网站敏感数据,应用需要对信息进行加密处理,信息加密技术科分为三类:单向散列加密,对称散列加密,非对称散列加密
1. 单向散列加密:
指的是通过对不同输入长度的信息进行散列计算,得到固定长度输出,这个散列计算过程是单项的,也就是说 只能加密 不能解密 唯一的办法就是用相同的算法对接收的数据进行加密 然后进行比对
–>明文–>单向散列算法–>密文–>
利用这个特征,可以对密码进行加密保存,即用户注册时输入的密码不直接存到数据库 而是对密码进行单向散列加密 然后在进行入库。当入户字词登陆时 将得到的密码是用同样的算法进行加密 然后和数据库的密码案进行比对 如果比对正确 则密码验证成功 如图:
这样保存在数据库中的用户密码则是密文保存 而且不可逆的计算得到密码的明文,因此即使数据库呗“拖库”,也不会泄露密码信息
虽然不能通过算法将单向散列密文暗算得到明文 但是由于人们设置的密码具有一定的模式 可以对战彩虹表(常用密码与对应密文关系表)等手段进行猜测
为了加强单向散列加