首页 > 编程语言 >Java的HexUtils

Java的HexUtils

时间:2022-08-15 20:58:41浏览次数:51  
标签:return String HexUtils hex static Java byte public

自己写的一个HexUtils,记录下好Copy。

1.pom相关

		<alg-bc.version>1.71</alg-bc.version>

        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15to18</artifactId>
            <version>${alg-bc.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15to18</artifactId>
            <version>${alg-bc.version}</version>
        </dependency>

2.代码

package com.csxbank.wkg.sdk.util;

import org.bouncycastle.util.encoders.Hex;

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: [email protected]
 * @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 byteArrToStr(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();
    }

    /** ==========================  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 byteArrToStr(hex2ByteArr(hex));
    }

    /** ==========================  base64 ================================ **/
    public static byte[] base642ByteArr(String base64){
        return Base64.getDecoder().decode(str2ByteArr(base64));
    }

    public static String base642Str(String base64){
        return byteArrToStr(base642ByteArr(base64));
    }

    public static String base642Hex(String base64){
        return byteArr2Hex(base642ByteArr(base64));
    }

}

标签:return,String,HexUtils,hex,static,Java,byte,public
From: https://www.cnblogs.com/yang37/p/16589591.html

相关文章

  • [Javascript] Object.freeze: using Object.freeze in function params to enforce im
    functionlotteryNum(){return(Math.round(Math.random()*100)%58)+1;}functionrecordNumber(luckLotteryNumbers:readonlynumber[],num:number):numb......
  • day21--Java集合04
    Java集合049.Set接口方法Set接口基本介绍无序(添加和取出的顺序不一致),没有索引不允许重复元素,所以最多只有一个nullJDKAPI中接口的实现类有:Set接口的常用方法......
  • mybatis_9_创建JavaBean文件
    创建JavaBean文件packagetk.mybatis.simple.mapper;importlombok.Data;@DatapublicclassIndicator{privateStringindicatorName;}文件结构: ......
  • 第七周Java总结
    上周忘记写了....补上....马上开学了,没有往后进行,接下来打算把java从零再看一遍java还是有自己特色的收拾心态准备好开学了这几周下来总体而言对于这个新的语言还不是......
  • JavaScript
    一、js简介js与java没有关系js也是一门编程语言它也是可以写后端代码的nodejs支持js代码跑在后端服务器上JavaScript是脚本语言JavaScript是一种轻量级的编程语言......
  • java过滤器(Filter)、Spring拦截器(Handler)
    首先,tomcat容器中有Servlet容器和Spring容器,java过滤器。Filter是在Servlet规范中定义的,是Servlet容器支持的;Handler是在Spring容器内的,是Spring框架支持的......
  • 《JavaStudy36》多态
     ......
  • Java中的锁
    一、乐观锁和悲观锁悲观锁一个共享数据加了悲观锁,那线程每次想操作这个数据前都会假设其他线程可能也会操作这个数据,所以每次操作前都会上锁,这样其他线程想操作这个数据......
  • 【java面试题】final
    【java面试题】final final的作用final的含义是最终的修饰类:表示类不可被继承修饰方法:表示方法不可被子类重写,但是可以重载修饰变量:表示变量一旦被赋值就不......
  • java学习路线整理
    java从入门到放弃:就业学习路线Java基础HTML、CSSJavaScriptmysqlJavaWebssmMyBatisSpringSpringMVCVueSpringBootSpringClouddocker......