当前位置:  编程技术>java/j2ee

java实现md5加密示例

    来源: 互联网  发布时间:2014-11-06

    本文导语:  代码如下:/** * 实现MD5加密 * */public class MD5 { /**  * 获取加密后的字符串  * @param input  * @return  */ public static String stringMD5(String pw) {  try {          // 拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”)          Messa...

代码如下:

/**
 * 实现MD5加密
 *
 */
public class MD5 {

 /**
  * 获取加密后的字符串
  * @param input
  * @return
  */
 public static String stringMD5(String pw) {
  try { 

        // 拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”) 
        MessageDigest messageDigest =MessageDigest.getInstance("MD5"); 
        // 输入的字符串转换成字节数组 
        byte[] inputByteArray = pw.getBytes(); 
        // inputByteArray是输入字符串转换得到的字节数组 
        messageDigest.update(inputByteArray); 
        // 转换并返回结果,也是字节数组,包含16个元素 
        byte[] resultByteArray = messageDigest.digest(); 
        // 字符数组转换成字符串返回 
        return byteArrayToHex(resultByteArray); 
     } catch (NoSuchAlgorithmException e) { 
        return null; 
     } 
 }

    public static String byteArrayToHex(byte[] byteArray) { 

        // 首先初始化一个字符数组,用来存放每个16进制字符 
        char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' }; 
        // new一个字符数组,这个就是用来组成结果字符串的(解释一下:一个byte是八位二进制,也就是2位十六进制字符(2的8次方等于16的2次方)) 
        char[] resultCharArray =new char[byteArray.length * 2]; 
        // 遍历字节数组,通过位运算(位运算效率高),转换成字符放到字符数组中去 
        int index = 0;
        for (byte b : byteArray) { 
           resultCharArray[index++] = hexDigits[b>>> 4 & 0xf]; 
           resultCharArray[index++] = hexDigits[b& 0xf]; 
        }
        // 字符数组组合成字符串返回 
        return new String(resultCharArray); 
    }
}

    
 
 

您可能感兴趣的文章:

  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
  • java Servlet实现Session创建存取以及url重写代码示例
  • java 四舍五入使java保留2位小数示例讲解
  • java进行error捕获和处理示例(java异常捕获)
  • java去除集合中重复元素示例分享 java去除重复
  • java读取csv文件示例分享(java解析csv文件)
  • java求三个数的最大值的示例分享
  • java生成字母数字组合的随机数示例 java生成随机数
  • java实现网页解析示例
  • java协变返回类型使用示例
  • 使用java执行定时任务示例
  • java自定义枚举转换器示例
  • java向文件末尾添加内容示例分享
  • java正则表达式获取url的host示例
  • java使用正则表达校验手机号码示例(手机号码正则)
  • java实现jframe透明窗体示例
  • java的split方法使用示例
  • java抓取网页数据示例
  • Oracle 使用Java Source 简单示例
  • java自定义日期转化类示例
  • 非常着急,关于DES加密的,用java加密过的字符串,药用Linux下的C语言来解密,涉及到补位的问题,弄了几天都没有实现,有高手会的,请指点一二!!!!!!!!
  • Java加密包 Jasypt
  • 怎么用java现实文件加密之后上传???
  • 如何实现在unix下delphi与java的相互加密解密??求救???
  • 请求Java的加密!
  • 使用java自带des加密算法实现文件加密和字符串加密
  • java异或加密算法
  • java如何将明文加密成密文存到数据库中?
  • Java的NTRU加密算法库 NTRU
  • JAVA有用于数据校验的类吗?象加密算法那样的.
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • java.util.Date 和 java.slq.Date 如何最简单实现互换?
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • java实现判断字符串是否全是数字的四种方法代码举例
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java序列化实现Serializable接口
  • 我是java新手,请问java中与平台相关的操作是怎样实现的
  • java中Spring框架介绍及如何实现对Bean的管理
  • java文件复制代码片断(java实现文件拷贝)
  • 要做一个在applet,实现可以托拽的图形(比如长方形和线段等)?那位高手有资料?或者有没有java的第三方类库实现此功能?
  • java 与 C++ 实现后绑定的方法
  • XUL的Java实现 javaXUL
  • 用JAVA实现与QQ相同的功能!
  • 请问《软件工程java语言实现》一书在那里能下载
  • 如何实现Java下的回调函数!
  • Java实现的XForms Chiba
  • Java的SAMBA客户端实现 jCIFS
  • Lua 实现的 Java 虚拟机 luje
  • yaml 的 java 实现 JYaml
  • java中如何实现打印功能
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3