源码如下:
package com.rural_vibration.common.utils;
import java.util.Base64;
/**
* @description: base64转16进制 <br>
* @date: 2024/01/29 16:30 <br>
* @author: Dongjie Wang <br>
* @version: 1.0 <br>
*/
public class HexUtil {
/**
* @param value base64处理过的密码 / 公钥 / 私钥 等
* @return
*/
public static String stringToHexString(String value) {
byte[] keyBytes = Base64.getDecoder().decode(value);
//在多线程时使用 StringBuffer
StringBuilder builder = new StringBuilder(keyBytes.length);
String sTemp;
for (int i = 0; i < keyBytes.length; i++) {
sTemp = Integer.toHexString(0xFF & keyBytes[i]);
if (sTemp.length() < 2) {
builder.append(0);
}
builder.append(sTemp.toUpperCase());
}
return builder.toString();
}
/**
* 测试用例
*/
public static void main(String[] args) {
//Base64处理后的RSA公钥 转16进制
System.out.println(HexUtil.stringToHexString("TUZ3d0RRWUpLb1pJaHZjTkFRRUJCUUFEU3dBd1NBSkJBTlBadDJTRXBXeDRGT05RbzN6MGhFQ0xZR1orNDNvaCUwQVQrb3dwM3Q0aTl0YWkybldBd3R5eTVLZEFiSnRUZWNDUDVrZWdCYkVoUDRYMVNnMGdCeFpGV1VDQXdFQUFRJTNEJTNE"));
}
}