zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JAVA实现MD5加密算法

JAVA 实现 MD5 加密算法
2023-09-14 09:01:03 时间

String s = null;

char hexDigits[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

a, b, c, d, e, f };// 用来将字节转换成16进制表示的字符

try {

java.security.MessageDigest md = java.security.MessageDigest

.getInstance("MD5");

md.update(source);

byte tmp[] = md.digest();// MD5 的计算结果是一个 128 位的长整数,

// 用字节表示就是 16 个字节

char str[] = new char[16 * 2];// 每个字节用 16 进制表示的话,使用两个字符, 所以表示成 16

// 进制需要 32 个字符

int k = 0;// 表示转换结果中对应的字符位置

for (int i = 0; i i++) {// 从第一个字节开始,对 MD5 的每一个字节// 转换成 16

// 进制字符的转换

byte byte0 = tmp[i];// 取第 i 个字节

str[k++] = hexDigits[byte0 4 0xf];// 取字节中高 4 位的数字转换,//

// 为逻辑右移,将符号位一起右移

str[k++] = hexDigits[byte0 0xf];// 取字节中低 4 位的数字转换

 

}

s = new String(str);// 换后的结果转换为字符串

 

} catch (NoSuchAlgorithmException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return s;

}

 

}

 

测试:

package com.task.test;

import com.task.util.MD5;

public class Test {

   public static void main(String[] args){

   MD5 md5=new MD5();

   String test=md5.getMD5("test".getBytes()); 

    System.out.println(test);

   }

}

 

输出结果:098f6bcd4621d373cade4e832627b4f6

 


Java实现图书管理系统 本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建 如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面
Java实现拼图小游戏(7)—— 计步功能及菜单业务的实现 注意由于我们计步功能的步数要在重写方法中用到,所以不能将初始化语句写在方法体内,而是要写在成员位置。在其名字的时候也要做到“见名知意”,所以我们给它起名字为step
Java实现拼图小游戏(7)—— 作弊码和判断胜利 当我们好不容易把拼图复原了,但是一点提示也没有,完全看不出来是成功了,那么我们就需要有判断胜利的功能去弹出“成功”类的图片,以便于玩家选择是重新开始还是退出小游戏