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(); } }

__EOF__

本文作者羊37
本文链接https://www.cnblogs.com/yang37/p/16589591.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   羊37  阅读(466)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示