zoukankan      html  css  js  c++  java
  • MD5三种方法的学习总结

    MD5百度百科

      MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4

    简介

      入行没多久,听见别人吹牛MD5加密不可以破解。作为当时菜鸟的我乍一听,这个这么叼的?现在入行一年多了,发现原来MD5就是一行代码的事情,如果不够再加一行呗。

    .NET早期MD5加密

      早期的MD5加密的方法,真的只有一段代码。不信请看如下代码:

         

      System.Web.Security下面的静态类FormAuthentication下中的HashPasswordForStoringInConfigFile方法加密可以对字符串进行想要的算法加密,如果要用的话,直接一段代码即可。但是作为有强迫证的程序猿还是写个方法比较。但是,注意到方法上面的Obsolete类的注释,发现该方法已经过时,过时并不是不能使用而已,如果想简单点的话,这一段代码还是能使用的。

    .NET现在的加密方法

      早期的MD5加密方法,已经过时。随着需求越来越大,安全性越来越高,微软推出了MD5类。

         

    推出的MD5类中,改MD5CryptoServiceProvider继承MD5类。该方法主要是通过将字符串转换成操作系统当前的当前 ANSI 代码页的编码的字节序列比特数组。在通过MD5CryptoServiceProvider中的ComputeHash方法计算比特数组的哈希值,最后加计算过后的数组进行字符串重组,也就组成当前的MD5字符串

      总结下,第一种方法比较简单实用,但是过时了,缺乏安全性;第二种方法安全性较高,还以进字符串的进行二次甚至多次加密,拓展性更强(毕竟推出的新方法)。不是说好的三种方法的吗?怎么就总结了?其实想想C#语言进行加密运算的时候,作为开发人员当数据库一堆加密后的字符串怎么办?所以数据库当然也可以进行MD5加密了,为了更好的方便管理程序。之前在公司看到数据库自定义函数可以直接用MD5改变登录密码,修改该函数,发现/* Definition is encrypted. */该函数被加密。之后自己摸索了半个小时,才将百度到的MD5函数进行加密。如下图所示。

       

    中间注释掉的为加密或绑定,这样就可以自己写个函数而不给别人使用了O(∩_∩)O哈哈~。

    SQLMD5加密

      通过上面的数据库的加密,自己定义了个方法,主要是通过数据库函数返回的值  

      以上就是MD5学习的三种方法,记录下自己的心得。。。。。。。

     

  • 相关阅读:
    截取某一个元素的图
    11、python的异常机制
    10、python面向对象三大特性:封装、继承、多态
    9、python之面向对象
    软件测试有前途吗?
    对应届生做测试的同学们的一些建议
    没有代码基础如何学习自动化测试?
    接口自动化测试有哪些工具或者框架?
    软件测试流程
    接口自动化测试中logging实际用法
  • 原文地址:https://www.cnblogs.com/huage-1234/p/7239655.html
Copyright © 2011-2022 走看看