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);
        }
    
    }
  • 相关阅读:
    Cgroup学习笔记
    基于dubbo框架下的RPC通讯协议性能测试
    More about dubbo
    基于nginx tomcat redis分布式web应用的session共享配置
    基于开源Dubbo分布式RPC服务框架的部署整合
    More about Tair (NoSql)
    MySql Replication配置
    Memcached、Redis OR Tair
    基于淘宝开源Tair分布式KV存储引擎的整合部署
    关于TbSchedule任务调度管理框架的整合部署
  • 原文地址:https://www.cnblogs.com/whr-blogs/p/12221170.html
Copyright © 2011-2022 走看看