java MD5 加密代码的实现

package util;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class HashUtil {

private static MessageDigest digest = null;

public synchronized static final String hash(String data) {

if (digest == null) {

try {

digest = MessageDigest.getInstance(“MD5”);

必看视频!获取2024年最新Java开发全套学习资料 备注Java

} catch (NoSuchAlgorithmException nsae) {

System.err.println("Failed to load the MD5 MessageDigest. " +

“Jive will be unable to function normally.”);

nsae.printStackTrace();

}

}

// Now, compute hash.

digest.update(data.getBytes());

return encodeHex(digest.digest());

}

public static final String encodeHex(byte[] bytes) {

StringBuffer buf = new StringBuffer(bytes.length * 2);

int i;

for (i = 0; i < bytes.length; i++) {

if (((int) bytes[i] & 0xff) < 0x10) {

buf.append(“0”);

}

buf.append(Long.toString((int) bytes[i] & 0xff, 16));

}

return buf.toString();

}

public static final byte[] decodeHex(String hex) {

char[] chars = hex.toCharArray();

byte[] bytes = new byte[chars.length / 2];

int byteCount = 0;

for (int i = 0; i < chars.length; i += 2) {

byte newByte = 0x00;

newByte |= hexCharToByte(chars[i]);

newByte <<= 4;

newByte |= hexCharToByte(chars[i + 1]);

bytes[byteCount] = newByte;

byteCount++;

}

return bytes;

}

private static final byte hexCharToByte(char ch) {

switch (ch) {

case ‘0’:

return 0x00;

case ‘1’:

return 0x01;

case ‘2’:

return 0x02;

case ‘3’:

return 0x03;

case ‘4’:

return 0x04;

case ‘5’:

return 0x05;

case ‘6’:

return 0x06;

case ‘7’:

return 0x07;

case ‘8’:

return 0x08;

知其然不知其所以然,大厂常问面试技术如何复习?

1、热门面试题及答案大全

面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer

2、多线程、高并发、缓存入门到实战项目pdf书籍

3、文中提到面试题答案整理

4、Java核心知识面试宝典

覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入


算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入**

[外链图片转存中…(img-74OE7GeC-1716446200491)]

[外链图片转存中…(img-LHKUAwCE-1716446200492)]

[外链图片转存中…(img-VwzaY8ae-1716446200494)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值