zoukankan      html  css  js  c++  java
  • MD5总结

    为什么会有MD5

    通常我们上网的时候会遇到一些问题,比如检查文件是否有被篡改;网盘秒传;系统间数据传递防篡改; 用户密码的保存。散列算法可以帮助我们解决上述问题。

    MD5是什么

    散列算法又称“哈希算法”,俗称“数字指纹”,是用来计算数据的特征的算法。特征:相同的内容一定生成相同的散列值,不同的内容生成相同散列值的概率非常低。任意数据都可以用来计算散列值,字符串也可以用来计算散列值。散列算法有很多种,MD5算法就是其中的一种。散列算法是不可逆的,也就是无法从散列值算出原始数据,但是可以通过碰撞检测等方法,如果两个内容生成的散列值一样,可以得到原来的内容,但是概率非常低。

    如何运用MD5

    在.Net中String MD5(String s)用来计算字符串的md5值,String MD5(Stream stream)用来计算流的MD5值(算的是内容,和文件名没关系)。比如用来验证密码,根据用户输入的密码,生成一个散列值,然后和数据库中存储的对应的该用户的密码的散列值,如果一样的就登录成功。如果用户设置的密码过短或者过于简单,还可以通过加盐操作,给用户设置的密码加上一些特殊的字符串,生成复杂的散列值,使密码不容易破解。需要注意密码大小写。通过生成MD5值的算法网站的管理员、黑客等都看不到用户的真实密码。

  • 相关阅读:
    银行业务调度系统
    交通灯管理系统
    Java高新技术
    Java反射机制
    java的集合框架
    正则表达式
    IPD CBB
    TCP的可靠传输(依赖流量控制、拥塞控制、连续ARQ)
    等价类划分
    Pycharm常用配置汇总
  • 原文地址:https://www.cnblogs.com/awphwb/p/8566352.html
Copyright © 2011-2022 走看看