hmacsha256 java实现_HMACSHA256加密算法 java实现
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
public class HMACSHA256 {
/**
* 将加密后的字节数组转换成字符串
*
* @param b 字节数组
* @return 字符串
*/
public static String byteArrayToHexString(byte[] b) {
StringBuilder hs = new StringBuilder();
String stmp;
for (int n = 0; b != null && n < b.length; n++) {
stmp = Integer.toHexString(b[n] & 0XFF);
if (stmp.length() == 1)
hs.append('0');
hs.append(stmp);
}
return hs.toString().toLowerCase();
}
/**
* sha256_HMAC加密
*
* @param message 消息
* @param secret 秘钥
* @return 加密后字符串
*/
public static String sha256_HMAC(String message, String secret) {
String hash = "";
try {
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
sha256_HMAC.init(secret_key);
byte[] bytes = sha256_HMAC.doFinal(message.getBytes());
hash = byteArrayToHexString(bytes);
} catch (Exception e) {
System.out.println("Error HmacSHA256 ===========" + e.getMessage());
}
return hash;
}
public static void main(String[] args) {
String secret="aaa0711zzz";
System.err.println(sha256_HMAC(secret,"asd"));
}
}
输出:c6248891f19f33a0512f7b1b830f523cb6fc12797d6180881422abd2410d71a2
hmacsha256 java实现_HMACSHA256加密算法 java实现相关推荐
- JAVA加密--AES加密算法JAVA实现及使用中的各种坑,超实用
1. AES 1.1. 概念 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准. 这个标准用 ...
- java 基于口令加密算法,Java安全编程:基于口令加密(PBE)
安全 PBE 在之前的文章中曾讲到过DES加密算法,类似这种加密算法都有一个密钥,密钥的长度决定了加密的安全性,但是这种密钥比较难记忆,是需要存储的. PBE算法是一种基于口令的加密算法,它并不是构建 ...
- Java常用的加密算法
一.加密算法分类 加密算法通常分为三类: 对称加密 指加密和解密使用相同密钥的加密算法.对称加密算法的优点在于加解密效率高且易于实现. 不可逆加密 不可逆加密算法的特征是加密过程不需要密钥,并且经过加 ...
- python能解密java的_实现Java加密,Python解密的RSA非对称加密算法功能
摘要 因为最近业务需要使用到openssl的rsa非对称加密算法,研究了下它的使用方式,但是特殊在于前端分IOS和android两端,所以前端部门要求使用java给他们做一个加密工具包,但是因为服务端 ...
- 非对称加密算法 - Java加密与安全
非对称加密算法我们从DH算法中可以看到密钥对是一种非常有用的加密算法 密钥对中publicKey是可以公开的,而privateKey则是需要保密的,由此奠定了非对称加密的基础 非对称加密就是加密和解密 ...
- 口令加密算法 - Java加密与安全
口令加密我们在前面介绍了对称加密算法,他们的key其实一个byte数组,例如AES256算法,他的key实际上是一个32位的数组 我们普通的加入软件有所不同,我们在使用WinRAR这样的软件的时候,通 ...
- 对称加密算法 - Java加密与安全
对称加密算法什么是对称加密算法呢?1. 对称加密算法就是加密和解密使用同一个密钥,例如我们使用WinRAR,对文件进行打包的时候,我们可以设置一个秘密,在解压的时候需要使用同一个密码,才能够正确的解压 ...
- Java实现非对称加密算法-RSA加解密
RSA是由三位数学家Rivest.Shamir 和 Adleman 发明的非对称加密算法,这种算法非常可靠,秘钥越长,就越难破解. 目前被破解的最长RSA秘钥是768个二进制位,长度超过768位的秘钥 ...
- Java实现对称加密算法-AES加解密
AES(Advanced Encryption Standard)意思是高级加密标准,是一种区块加密标准.这个标准用来替代原先的DES,且已经被广泛使用. DES使用56位密钥,所以比较容易被破解. ...
最新文章
- 输出目录文件被多个中间文件输出目录相同的工程包含
- motionVFX mRevealer Glitch Mac(fcpx插件:30个故障干扰马赛克毛刺失真特效)
- mac下electron始终安装不成功解决办法
- [转]easyui 全部图标
- 互联网时代,还有闷声发大财的吗?
- BZOJ(1) 1003 [ZJOI2006]物流运输
- 你能相信这些逼真的油画是前端小姐姐只用HTML+CSS画出来的吗?精细到毛发,让美术设计也惊叹丨GitHub热榜...
- Python【每日一问】35
- HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
- 火焰之纹章java武器代码_《火焰纹章回声:另一个英雄王》金手指全代码一览 代码大全...
- 2014全国计算机二级visual foxpro,全国计算机等级考试二级visual_foxpro试题
- 2021高考北京大峪中学成绩查询,2014年北京市各区高考成绩汇总
- 班章管家分享五一假日什么理财产品会有收益?五一假日理财攻略
- php gd ttf,linux gd php TTF字体
- yolov3中yolov3-voc.cfg文件中参数理解
- html5学生作业简单源代码,html5 简单实例源代码
- 怎么用微信打开wifi连接到服务器,微信一键连wifi在哪里 微信一键连wifi怎么使用...
- 3D图形学一:模仿草的运动 – GPU(Pixel Shader Vertex Shader)实现
- 《C#语言和数据库技术基础》单词必备
- Docker 详解及安装