2023-02-25 507
1 import java.security.MessageDigest;
2 import java.security.NoSuchAlgorithmException;
3
4 import org.apache.commons.codec.digest.DigestUtils;//开发的jar包 使用更方便
5 public class MD5 {
6
7 /*
8 * 1.一个运用基本类的实例
9 * MessageDigest 对象开始被初始化。该对象通过使用 update 方法处理数据。
10 * 任何时候都可以调用 reset 方法重置摘要。
11 * 一旦所有需要更新的数据都已经被更新了,应该调用 digest 方法之一完成哈希计算。
12 * 对于给定数量的更新数据,digest 方法只能被调用一次。
13 * 在调用 digest 之后,MessageDigest 对象被重新设置成其初始状态。
14 */
15 public static void encrypByMd5(String context) {
16 try {
17 MessageDigest md = MessageDigest.getInstance("MD5");
18 md.update(context.getBytes());//update处理
19 byte [] encryContext = md.digest();//调用该方法完成计算
20
21 int i;
22 StringBuffer buf = new StringBuffer("");
23 for (int offset = 0; offset < encryContext.length; offset++) {//做相应的转化(十六进制)
24 i = encryContext[offset];
25 if (i < 0) i += 256;
26 if (i < 16) buf.append("0");
27 buf.append(Integer.toHexString(i));
28 }
29 System.out.println("32result: " + buf.toString());// 32位的加密
30 System.out.println("16result: " + buf.toString().substring(8, 24));// 16位的加密
31 } catch (NoSuchAlgorithmException e) {
32 // TODO Auto-generated catch block
33 e.printStackTrace();
34 }
35 }
36
37 /*
38 * 2.使用开发的jar直接应用
39 * 使用外部的jar包中的类:import org.apache.commons.codec.digest.DigestUtils;
40 * 对上面内容的一个封装使用方便
41 */
42 public static void encrypByMd5Jar(String context) {
43 String md5Str = DigestUtils.md5Hex(context);
44 System.out.println("32result: " + md5Str);
45 }
46
47 public static void main(String[] args) {
48
49 encrypByMd5("yang");
50 encrypByMd5Jar("yang");
51 }
52 }
原文链接:https://77isp.com/post/34312.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态