常用的字符串加密解密工具类
提前声明一下:此工具类忘记出处了,很抱歉,如果原创遇上了我立马上您的链接:
加密解密的工具类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); } }
常用的字符串加密解密工具类相关推荐
- java字符串加密解密工具类
/*** 字符串加密解密工具类** @author guyuqiang* @date 2021-06-07*/ public class StringEncryptUtil {/*** 字符串默认键值 ...
- java des加密解密_Java实现的DES加密解密工具类实例
本文实例讲述了Java实现的DES加密解密工具类.分享给大家供大家参考,具体如下: 一个工具类,很常用,不做深入研究了,那来可直接用 DesUtil.java package lsy; import ...
- java des 加密工具的使用,Java中DES加密解密工具类的实现实例
这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...
- jwt加密解密工具类
jwt 加密&解密工具类 引入依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId ...
- Java AES 加密解密工具类
maven 引入一个依赖 <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --> <depen ...
- C#常用加密解密工具类(SHA1、MD5、DES、Base64)
以下代码可直接使用 /// <summary>/// 字符串加密解密类/// </summary>public static class StringSecurity{#reg ...
- EncryptUtil加密解密工具类,实测可以,复制粘贴皆可。全套代码加使用案例方法。
EncryptUtil工具类utils: package deployment.utils;import deployment.constant.CommonConstant; import com. ...
- 基于Java的(SM2_SM3_SM4)国密算法, 加密解密工具类及测试demo
编写本文的同时借鉴了多位同学写的demo, 最后发现这位同学写的最详细, 放上该作者的链接, 原版链接: https://download.csdn.net/download/ererfei/9474 ...
- Android AES加密解密工具类
一个用于Android AES加密解密的工具类,记录一下... import android.os.Build import android.security.keystore.KeyGenParam ...
最新文章
- 美国实行公共场所禁用面部识别设备 IBM跨界饮食业利用AI开发美食
- IBM技术大会2005
- mysql data_add data_sub
- Android sdk Drow9patch使用
- ffmpeg如何在结尾添加帧_一种“视频帧对齐”的测试方案实践
- h5 android数字键盘,【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)...
- 浏览器调试时控制台出现:Uncaught SyntaxError: Unexpected identifier
- CreateThread函数--创建线程
- Linux内核学习笔记一
- 高等数学(第七版)同济大学 习题1-9 个人解答
- php while循环 selecrt下拉框 option默认选中
- 数学建模——模拟退火优化投影寻踪
- linux中怎么卸载桌面图标,如何从Ubuntu 18.04桌面上删除垃圾桶图标
- 记录:前端框架Bootstrap学习使用之组件——Collapse(折叠)
- 低版本浏览器(chrome小于40 firefox小于50 ie小于9)会提示升级信息
- android+微信语音,android 仿微信按住语音说话(语音聊天)源码下载
- 直流无刷电机【一】从零开始上手
- 国际顶会 SIGCOMM,我们来了!
- CPI即消费者物价指数
- 毕达哥拉斯三角形数,unsignedlong long long
热门文章
- 结构型模式——桥接模式
- 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)C题 图墙+拉格朗日四平方数和定理
- 数据结构与算法--丑数
- Codeforces Round #723 (Div. 2) D. Kill Anton 线段树 + 暴力
- 【每日一题】4月9日题目精讲 Running Median
- CodeForces 1361E James and the Chase(dfs + 结论)
- 【CF 1191】Tokitsukaze, CSL and Stone Game//Tokitsukaze and Duel//Tokitsukaze and Strange Rectangle
- 模板:二维凸包(计算几何)
- YbtOJ-森林之和【dp】
- P3293-[SCOI2016]美味【主席树】