Java的HexUtils
自己写的一个HexUtils,记录下好Copy。
1.pom相关
<!-- BC库 秘钥扩展包-->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15to18</artifactId>
<version>1.71</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.71</version>
</dependency>
<!-- BC库 秘钥扩展包 end-->
2.代码
package cn.yang37.utils;
import org.bouncycastle.util.encoders.Hex;
import java.math.BigInteger;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.Locale;
/**
* @description: 格式转换Utils, 默认UTF-8
* @class: HexUtils
* @author: yang37z@qq.com
* @date: 2022/7/1 18:35
* @version: 1.0
*/
public class HexUtils {
public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
/** ========================== byte ================================ **/
public static String byteArr2Str(byte[] byteArr) {
return new String(byteArr, DEFAULT_CHARSET);
}
public static String byteArr2Base64(byte[] byteArr) {
return new String(Base64.getEncoder().encode(byteArr));
}
public static String byteArr2Hex(byte[] byteArr) {
return Hex.toHexString(byteArr).toUpperCase(Locale.ROOT);
}
public static BigInteger byteArr2BigInteger(byte[] byteArr) {
return new BigInteger(1, byteArr);
}
/** ========================== str ================================ **/
public static byte[] str2ByteArr(String str) {
return str.getBytes(DEFAULT_CHARSET);
}
public static String str2Base64(String str) {
return byteArr2Base64(str2ByteArr(str));
}
public static String str2Hex(String str) {
return byteArr2Hex(str2ByteArr(str)).toUpperCase(Locale.ROOT);
}
/** ========================== hex ================================ **/
public static byte[] hex2ByteArr(String hex) {
return Hex.decode(str2ByteArr(hex));
}
public static String hex2Base64(String hex) {
return byteArr2Base64(hex2ByteArr(hex));
}
public static String hex2Str(String hex) {
return byteArr2Str(hex2ByteArr(hex));
}
public static BigInteger hex2BigInteger(String hex) {
return new BigInteger(1, hex2ByteArr(hex));
}
/** ========================== base64 ================================ **/
public static byte[] base642ByteArr(String base64){
return Base64.getDecoder().decode(str2ByteArr(base64));
}
public static String base642Str(String base64){
return byteArr2Str(base642ByteArr(base64));
}
public static String base642Hex(String base64){
return byteArr2Hex(base642ByteArr(base64));
}
/** ========================== biginteger ================================ **/
public static String bigInteger2Hex(BigInteger bigInteger) {
return bigInteger.toString(16).toUpperCase(Locale.ROOT);
}
public static byte[] bigInteger2ByteArr(BigInteger bigInteger) {
return bigInteger.toByteArray();
}
}