提前声明一下:此工具类忘记出处了,很抱歉,如果原创遇上了我立马上您的链接:

加密解密的工具类DataEncryptUtil:

package org.util;import java.security.MessageDigest;  import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;  import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;  /** * data encrypt utls * * @author skyline * */
public class DataEncryptUtil {  public static final String KEY_SHA = "SHA";  public static final String KEY_MD5 = "MD5";  /** * MAC算法可选以下多种算法 * * <pre> * HmacMD5 * HmacSHA1 * HmacSHA256 * HmacSHA384 * HmacSHA512 * </pre> */  public static final String KEY_MAC = "HmacMD5";  /** * BASE64解密 * * @param key = 需要解密的密码字符串 * @return * @throws Exception */  public static byte[] decryptBASE64(String key) throws Exception {  return (new BASE64Decoder()).decodeBuffer(key);  }  /** * BASE64加密 * * @param key = 需要加密的字符数组 * @return * @throws Exception */  public static String encryptBASE64(byte[] key) throws Exception {  return (new BASE64Encoder()).encodeBuffer(key);  }  /** * MD5加密 * * @param data = 需要加密的字符数组 * @return * @throws Exception */  public static byte[] encryptMD5(byte[] data) throws Exception {  MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);  md5.update(data);  return md5.digest();  }  /** * SHA加密 * * @param data = 需要加密的字符数组 * @return * @throws Exception */  public static byte[] encryptSHA(byte[] data) throws Exception {  MessageDigest sha = MessageDigest.getInstance(KEY_SHA);  sha.update(data);  return sha.digest();  }  /** * 初始化HMAC密钥 * * @return * @throws Exception */  public static String initMacKey() throws Exception {  KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC);  SecretKey secretKey = keyGenerator.generateKey();  return encryptBASE64(secretKey.getEncoded());  }  /** * HMAC加密 * * @param data = 密匙加密过的字符数组 * @param key = 需要加密的字符串 * @return * @throws Exception */  public static byte[] encryptHMAC(byte[] data, String key) throws Exception {  SecretKey secretKey = new SecretKeySpec(decryptBASE64(key), KEY_MAC);  Mac mac = Mac.getInstance(secretKey.getAlgorithm());  mac.init(secretKey);  return mac.doFinal(data);  }  }  

常用的字符串加密解密工具类相关推荐

  1. java字符串加密解密工具类

    /*** 字符串加密解密工具类** @author guyuqiang* @date 2021-06-07*/ public class StringEncryptUtil {/*** 字符串默认键值 ...

  2. java des加密解密_Java实现的DES加密解密工具类实例

    本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...

  3. java des 加密工具的使用,Java中DES加密解密工具类的实现实例

    这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...

  4. jwt加密解密工具类

    jwt 加密&解密工具类 引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId ...

  5. Java AES 加密解密工具类

    maven 引入一个依赖 <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --> <depen ...

  6. C#常用加密解密工具类(SHA1、MD5、DES、Base64)

    以下代码可直接使用 /// <summary>/// 字符串加密解密类/// </summary>public static class StringSecurity{#reg ...

  7. EncryptUtil加密解密工具类,实测可以,复制粘贴皆可。全套代码加使用案例方法。

    EncryptUtil工具类utils: package deployment.utils;import deployment.constant.CommonConstant; import com. ...

  8. 基于Java的(SM2_SM3_SM4)国密算法, 加密解密工具类及测试demo

    编写本文的同时借鉴了多位同学写的demo, 最后发现这位同学写的最详细, 放上该作者的链接, 原版链接: https://download.csdn.net/download/ererfei/9474 ...

  9. Android AES加密解密工具类

    一个用于Android AES加密解密的工具类,记录一下... import android.os.Build import android.security.keystore.KeyGenParam ...

最新文章

  1. 美国实行公共场所禁用面部识别设备 IBM跨界饮食业利用AI开发美食
  2. IBM技术大会2005
  3. mysql data_add data_sub
  4. Android sdk Drow9patch使用
  5. ffmpeg如何在结尾添加帧_一种“视频帧对齐”的测试方案实践
  6. h5 android数字键盘,【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)...
  7. 浏览器调试时控制台出现:Uncaught SyntaxError: Unexpected identifier
  8. CreateThread函数--创建线程
  9. Linux内核学习笔记一
  10. 高等数学(第七版)同济大学 习题1-9 个人解答
  11. php while循环 selecrt下拉框 option默认选中
  12. 数学建模——模拟退火优化投影寻踪
  13. linux中怎么卸载桌面图标,如何从Ubuntu 18.04桌面上删除垃圾桶图标
  14. 记录:前端框架Bootstrap学习使用之组件——Collapse(折叠)
  15. 低版本浏览器(chrome小于40 firefox小于50 ie小于9)会提示升级信息
  16. android+微信语音,android 仿微信按住语音说话(语音聊天)源码下载
  17. 直流无刷电机【一】从零开始上手
  18. 国际顶会 SIGCOMM,我们来了!
  19. CPI即消费者物价指数
  20. 毕达哥拉斯三角形数,unsignedlong long long

热门文章

  1. 结构型模式——桥接模式
  2. 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)C题 图墙+拉格朗日四平方数和定理
  3. 数据结构与算法--丑数
  4. Codeforces Round #723 (Div. 2) D. Kill Anton 线段树 + 暴力
  5. 【每日一题】4月9日题目精讲 Running Median
  6. CodeForces 1361E James and the Chase(dfs + 结论)
  7. 【CF 1191】Tokitsukaze, CSL and Stone Game//Tokitsukaze and Duel//Tokitsukaze and Strange Rectangle
  8. 模板:二维凸包(计算几何)
  9. YbtOJ-森林之和【dp】
  10. P3293-[SCOI2016]美味【主席树】