zoukankan      html  css  js  c++  java
  • JAVA中MD5加密实现

    MD5加密实现

     结

    package com.pb;
    
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Scanner;
    
    /*
     * 验证MD5
     * 1.初始化MessageDigest信息摘要对象
     * 2.传入需要计算的字符串更新摘要信息
     * 3.计算信息摘要
     * 4.将byte[] 转换为找度为32位的16进制字符串
     */
    public class MD5 {
        /*
         * 生成md5 有传入参数字符串
         */
        public void generateMD5(String input){
            
            try {
                //1.初始化MessageDigest信息摘要对象,并指定为MD5不分大小写都可以
                MessageDigest md=MessageDigest.getInstance("md5");
                 //2.传入需要计算的字符串更新摘要信息,传入的为字节数组byte[],
                //将字符串转换为字节数组使用getBytes()方法完成
                //指定时其字符编码 为utf-8
                md.update(input.getBytes("utf-8"));
                 //3.计算信息摘要digest()方法
                //返回值为字节数组
                byte [] hashCode=md.digest();
                 //4.将byte[] 转换为找度为32位的16进制字符串
                    //声明StringBuffer对象来存放最后的值
                StringBuffer sb=new StringBuffer();
                //遍历字节数组
                for(byte b:hashCode){
                    //对数组内容转化为16进制,
                    sb.append(Character.forDigit(b>>4&0xf, 16));
                    //换2次为32位的16进制
                    sb.append(Character.forDigit(b&0xf, 16));
                }
                System.out.println("加密后的结果是:"+sb.toString());
            } catch (NoSuchAlgorithmException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        public static void main(String[] args) {
            //声明加密MD5类的对象
            MD5 md5=new MD5();
            //使用Scanner来输入一个字符
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入要加密的内容:");
            String input = scanner.nextLine();
            //调用加密方法
            md5.generateMD5(input);
    
        }
       
    }

    结果:

    请输入要加密的内容:
    学习MD5加密过程
    加密后的结果是:b826cdac46f01dcc8ccc60a76cebf858
  • 相关阅读:
    开发进度01
    eclipse 调用cmd运行DataX
    kettle 新建DB连接双击打不开
    用户体验评价
    找水王课堂练习
    人月神话阅读笔记01
    用户模板和用户场景
    大道至简阅读笔记03
    第九周
    第八周总结
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4297800.html
Copyright © 2011-2022 走看看