类 CommonUtil


  • public class CommonUtil
    extends Object
    • 构造器详细资料

      • CommonUtil

        public CommonUtil()
    • 方法详细资料

      • doCipher

        public static byte[] doCipher​(String algorithmName,
                                      int mode,
                                      Key key,
                                      byte[] data)
        进行加密或解密,三步走
        参数:
        algorithmName - 选择的算法
        mode - 是解密模式还是加密模式?
        key - 密钥
        data - 输入的内容
        返回:
        结果
      • doCipher

        public static byte[] doCipher​(String algorithmName,
                                      int mode,
                                      Key key,
                                      byte[] data,
                                      AlgorithmParameterSpec spec)
        进行加密或解密,三步走
        参数:
        algorithmName - 选择的算法
        mode - 是解密模式还是加密模式?
        key - 密钥
        data - 输入的内容
        spec - 参数,可选的
        返回:
        结果
      • XOR_encode

        public static String XOR_encode​(String res,
                                        String key)
        使用异或操作符对字符串进行简单加密。 该方法通过将字符串的每个字节与一个固定密钥的哈希值进行异或操作,以达到加密的目的。加密后的字节数组再通过工具方法转换为十六进制字符串返回。 此方法适用于对数据进行简单的安全性保护,但并非安全的加密手段,适用于对安全性要求不高的场景。
        参数:
        res - 需要加密的字符串。
        key - 加密使用的密钥。注意,该密钥将被转换为哈希值后用于加密操作。
        返回:
        返回加密后的十六进制字符串。
      • XOR_decode

        public static String XOR_decode​(String res,
                                        String key)
        使用异或进行解密
        参数:
        res - 需要解密的密文
        key - 秘钥
        返回:
        结果
      • XOR

        public static int XOR​(int res,
                              String key)
        使用异或操作对结果进行加密或解密。 异或操作的特点是,如果对相同的两个值进行异或操作,结果是 0;而且异或操作是可逆的,即 a ^ b ^ b = a。 这里使用字符串的哈希值作为密钥,因为字符串的哈希值在大多数情况下是不同的,这样可以增加解密的难度。 但是需要注意,由于哈希冲突的可能性,不同字符串的哈希值可能会相同,这可能会导致解密错误。
        参数:
        res - 需要加密或解密的整数结果。
        key - 用于加密或解密的字符串密钥。
        返回:
        经过异或操作后的加密或解密结果。
      • loadPrivateKeyByPath

        public static PrivateKey loadPrivateKeyByPath​(String privateKeyPath)
        从 classpath 上指定私钥文件的路径
        参数:
        privateKeyPath - 私钥文件的路径
        返回:
        私钥文件 PrivateKey
      • loadPrivateKey

        public static PrivateKey loadPrivateKey​(String privateKey)
        转换为 Java 里面的 PrivateKey 对象
        参数:
        privateKey - 私钥内容
        返回:
        私钥对象
      • loadPrivateKey

        public static PrivateKey loadPrivateKey​(InputStream inputStream)
        从输入流中加载私钥 该方法首先将输入流中的字节读取到 ByteArrayOutputStream 中,然后将其转换为字符串形式的私钥, 最后调用另一方法loadPrivateKey(String)来解析并返回私钥对象
        参数:
        inputStream - 包含私钥信息的输入流
        返回:
        解析后的PrivateKey对象
        抛出:
        IllegalArgumentException - 如果输入流中的数据无法被正确读取或解析为私钥,则抛出此异常
      • deserializeToCerts

        public static Map<BigInteger,​X509Certificate> deserializeToCerts​(String apiV3Key,
                                                                               Map<String,​Object> pMap)
        反序列化证书并解密
        参数:
        apiV3Key - APIv3 密钥
        pMap - 下载证书的请求返回体
        返回:
        证书 list