java中加密的实现方法(MD5,MD2,SHA)

 更新时间:2017年08月07日 09:41:12   投稿:lqh  
这篇文章主要介绍了java中加密的实现方法(MD5,MD2,SHA)的相关资料,这里提供三种实现加密的方法,大家可以对比一下,需要的朋友可以参考下

java中加密的实现方法(MD5,MD2,SHA)

     实例代码:注释都很清楚,

import java.security.MessageDigest; 
 
import javax.xml.bind.annotation.adapters.HexBinaryAdapter; 
 
public class Main { 
 
  static String src = "Hello,sahadev!"; 
 
  public static void main(String[] args) { 
    MD5(); 
    MD2(); 
    SHA(); 
  } 
 
  /** 
   * MD5加密 
   */ 
  public static void MD5() { 
    try { 
      // 获取MD5加密工具 
      MessageDigest md = MessageDigest.getInstance("MD5"); 
      // 加密 
      byte[] digest = md.digest(src.getBytes()); 
      // 获取二进制十六进制互转工具 
      HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter(); 
      // 将二进制数组转换为十六进制字符串 
      String marshal = hexBinaryAdapter.marshal(digest); 
      // 输出结果 
      System.out.println(marshal); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
 
  /** 
   * MD2加密 
   */ 
  public static void MD2() { 
    try { 
      // 获取MD2加密工具 
      MessageDigest md = MessageDigest.getInstance("MD2"); 
      // 加密 
      byte[] digest = md.digest(src.getBytes()); 
      // 获取二进制十六进制互转工具 
      HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter(); 
      // 将二进制数组转换为十六进制字符串 
      String marshal = hexBinaryAdapter.marshal(digest); 
      // 输出结果 
      System.out.println(marshal); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
 
  public static void SHA() { 
    try { 
      // 获取MD2加密工具 
      MessageDigest md = MessageDigest.getInstance("SHA"); 
      // 加密 
      byte[] digest = md.digest(src.getBytes()); 
      // 获取二进制十六进制互转工具 
      HexBinaryAdapter hexBinaryAdapter = new HexBinaryAdapter(); 
      // 将二进制数组转换为十六进制字符串 
      String marshal = hexBinaryAdapter.marshal(digest); 
      // 输出结果 
      System.out.println(marshal); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
 
} 

输出结果: 

MD5 : 8FC69C57ACC2258C7B4A9D39DC4C940B 
MD2 : 9EAF08289903A29C3C58D2AAA25BD83D 
SHA : 1B1330BFC6257FC9F4B4ED5CB605FA4109608CCA 

以上就是java 加密的实例,如疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • JDBC实现Mysql自动重连机制的方法详解

    JDBC实现Mysql自动重连机制的方法详解

    最近在工作中发现了一个问题,通过查找相关的资料终于解决了,下面这篇文章主要给大家介绍了关于JDBC实现Mysql自动重连机制的相关资料,文中给出多种解决的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • Java实现单词倒序输出

    Java实现单词倒序输出

    这篇文章主要介绍了Java实现单词倒序输出,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-08-08
  • 深入解析Java中volatile的底层原理

    深入解析Java中volatile的底层原理

    这篇文章主要介绍了深入解析Java中volatile的底层原理,volatile关键字用于保证变量的可见性和禁止指令重排序,即当一个线程修改了volatile变量的值,其他线程能够立即看到这个变量的最新值,而不是使用缓存中的旧值,需要的朋友可以参考下
    2023-07-07
  • MyBatis实现表连接查询写法(三种对应关系)的方法总结

    MyBatis实现表连接查询写法(三种对应关系)的方法总结

    这篇文章主要介绍了MyBatis实现表连接查询写法(一对一关系、一对多关系、多对多关系)的方法,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-01-01
  • java获取新insert数据自增id的实现方法

    java获取新insert数据自增id的实现方法

    这篇文章主要介绍了java获取新insert数据自增id的实现方法,在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录,需要的朋友可以参考下
    2019-06-06
  • Java Spring的数据库开发详解

    Java Spring的数据库开发详解

    这篇文章主要介绍了Spring的数据库开发,主要围绕SpringJDBC和Spring Jdbc Template两个技术来讲解,文中有详细的代码示例,需要的小伙伴可以参考一下
    2023-04-04
  • Linux中JDK安装配置教程

    Linux中JDK安装配置教程

    这篇文章主要为大家详细介绍了Linux中JDK安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 详解Spring中的@PropertySource注解使用

    详解Spring中的@PropertySource注解使用

    这篇文章主要介绍了Spring的@PropertySource注解使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • MyBatis实现配置加载的步骤

    MyBatis实现配置加载的步骤

    本文主要介绍了MyBatis实现配置加载的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • idea使用spring Initializr 快速搭建springboot项目遇到的坑

    idea使用spring Initializr 快速搭建springboot项目遇到的坑

    这篇文章主要介绍了idea使用spring Initializr 快速搭建springboot项目遇到的坑,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论