zoukankan      html  css  js  c++  java
  • 加密方法(MD5加密)

    一.MD5加密算法

           1.1 MD5算法的定义:MD5是哈希散列算法,对于MD5而言,有两个特性是很重要的,第一:明文数据经过散列以后的值是定长的;第二:是任意一段明文数据,经过散列以后,其结果必须永远是不变的。前者的意思是可能存在有两段明文散列以后得到相同的结果。MD5是哈希散列算法,对于MD5而言,有两个特性是很重要的,第一:明文数据经过散列以后的值是定长的;第二:是任意一段明文数据,经过散列以后,其结果必须永远是不变的。前者的意思是可能存在有两段明文散列以后得到相同的结果,后者的意思是如果我们散列特定的数据,得到的结果一定是相同的.

                  (MD5的算法是一个比较常见的算法,在登录注册的时候比较常用,这个定义从百度上抄来的,其实作为程序员没必要了解定义,只需要知道这是一种加密算法,会用就行了)

    二.做MD5加密算法是jdk自己带的有

    package untils;
    
    import java.math.BigInteger;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    
    public class MD5untils {
        public  String md5(String plainText){
            byte[] secretBytes=null;
            try {
                secretBytes=MessageDigest.getInstance("md5").digest(
                    plainText.getBytes());
            } catch (NoSuchAlgorithmException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                System.out.println("没有md5这个算法");
            }
            String md5Code=new BigInteger(1, secretBytes).toString(16);
            for(int i=0;i<32-md5Code.length();i++){
                md5Code="0"+md5Code;
            }
            return md5Code;
        }
    
    }

    三.测试代码

    package text;
    
    import untils.MD5untils;
    
    public class Demo01 {
        public static void main(String[] args) {
            String plainText="456664";
            MD5untils md5untils=new MD5untils();
            String result=md5untils.md5(plainText);
            System.out.println(result);
        }
    
    }
  • 相关阅读:
    Mybatis与Hibernate概述
    Linux命令中:rsync和scp之间的区别
    更改了ssh文件下,还没有权限
    karaf 控制台 常用linux指令(2)
    karaf 控制台 常用linux指令(1)
    POM文件详解(2)
    POM文件详解(1)
    maven配置parent pom查找策略
    排序算法性能比较
    Eclipse下用NDK编译生成so文件
  • 原文地址:https://www.cnblogs.com/whr-blogs/p/12221170.html
Copyright © 2011-2022 走看看