zoukankan      html  css  js  c++  java
  • MD5不可逆的加密

    闲聊两句MD5加密吧.多数的网站在记录用户密码时都不会存储明文密码,而是通过MD5,SHA1等不可逆的算法,将密码加密然后存储起来.这样即使数据库被窃取,密码也不会被人拿到.

    说到这,必须要声明一下,所有的不可逆加密都不是为了防止在客户端暴力破解.而是防止黑客拿到密文后反推明文.例如,黑客有一张表(彩虹表),里边存储了大量常用密码和常用密码MD5后的

    密文.如果黑客攻破了数据库,拿到了密文可以轻而易举的到彩虹表中对比,获取明文密码.所以只把明文MD5是不够的.一般的不直接对明文密码进行MD5而是生成一个随机串(盐)+密码然后在MD5加密

    最终将密文和盐分别存到不同的表中.这样,即使黑客拿到了用户密码表,如果没有拿到盐表,也无法反推明文.但若是两个表都拿到了,他们就可以将彩虹表的密码+盐重新生成密码表,这样也

    可以反推密码.所以更安全的做法是,对盐和密码MD5后得到的密文再进行N次的MD5这样得到的密文存储数据库.黑客不知道到底MD5了几次,就无法反推明文了.

  • 相关阅读:
    小知识!
    命令级的python静态资源服务。
    自定义滚动条样式-transition无效
    css:a:visited限制
    react16 渲染流程
    virtual-dom
    用video标签流式加载
    golang 代码笔记
    position:fixed not work?
    go/node/python 多进程与多核cpu
  • 原文地址:https://www.cnblogs.com/zumengjie/p/13040647.html
Copyright © 2011-2022 走看看