Java实现hmacsha256加密算法

前言

Java自带hmacsha256算法

hmacsha256实现

ini 复制代码
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class SignatureGenerator {
    public static void main(String[] args) {
        String username = "tIsMUhEc0tp&ee050d34cab2|sdkappid=20250616;random=0";
        String deviceSecret = "dARYgMURsw0pAV1w";
        // 1. 将签名类型标识改为 hmacsha256
        String signatureType = "hmacsha256"; 

        try {
            // 2. 将算法实例改为 HmacSHA256
            Mac mac = Mac.getInstance("HmacSHA256");
            SecretKeySpec secretKeySpec = new SecretKeySpec(
                    deviceSecret.getBytes(StandardCharsets.UTF_8), 
                    "HmacSHA256" // 3. 密钥规范也需同步改为 HmacSHA256
            );
            mac.init(secretKeySpec);
            byte[] hmacBytes = mac.doFinal(username.getBytes(StandardCharsets.UTF_8));

            // 使用标准 Base64 编码
            String signature = Base64.getEncoder().encodeToString(hmacBytes);

            // 拼接 password
            String password = signature + ";" + signatureType;
            System.out.println("Password: " + password);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

总结

Java实现hmacsha256加密算法,可以用它实现加密算法

相关推荐
code2cat11 分钟前
Java高级篇之Hibernate:让对象映射到表,理解持久化与事务
java·后端·hibernate·1024程序员节
Younglina23 分钟前
三个晚上,我和 WorkBuddy 做了个生图网站
前端·后端·ai编程
骑着蜗牛撵大象3271 小时前
飞牛fnOS部署Damselfly:Compose编排、照片目录与7100固定访问
java·docker·rpc·dubbo·fnos·照片管理·damselfly
金銀銅鐵1 小时前
[Java] 用 CLI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
陈随易2 小时前
副业搞钱点子之收入查看器
前端·后端
Profile排查笔记2 小时前
浏览器指纹逆向怎么分析:从网络请求追踪到 JavaScript 采集链
前端·人工智能·后端·自动化
Nuanyt2 小时前
Hot 100 刷题笔记 · 数组与哈希专题(3 题)
java·笔记·算法·leetcode·哈希算法·1024程序员节
xieliyu.2 小时前
【JavaEE进阶】Spring Boot 日志:从 System.out 到 @Slf4j,6 个级别 + 4 类配置一篇讲透
java·spring boot·spring·java-ee·springboot·logback·slf4j
lazy H2 小时前
【计算机网络】第 5 篇:TCP 和 UDP 有什么区别?从 Java 后端场景理解两种传输协议
经验分享·后端·网络协议·tcp/ip·计算机网络·1024程序员节
东宇科技2 小时前
crmeb开源版本安装步骤2026-10-20
后端·php·crmeb