递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 25|回复: 1
打印 上一主题 下一主题

[视窗] 模拟JAVA算法不成功求帮忙

[复制链接]

55

主题

401

帖子

2820

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
2820
跳转到指定楼层
楼主
发表于 昨天 22:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;

public class JavaCode17 {
    public static void main(String []args){
            // 请求的接口地址
        List<String> list = new ArrayList<>();
        String api_secret = "01KKZYZBXK83GQMSHR4D200TA5";
        //String param ="{\"widgetId\": \"625091800040434\",\"userInputs\": {\"taskYear\": \"2025\"}}";
        String param ="{\"widgetid\":\"626031800084554\",\"userInputs\":{\"sfz\":{\"idCard\":\"123\"}}}";
//平台apiSecret参数
        list.add(api_secret);
//接口入参json字符串
        list.add(param);
        //签名生成方式
        String signatrue = hash(list);
        System.out.println(signatrue);
        }


    public static String sha256Hash(String text) {
        try {
            MessageDigest digest = MessageDigest.getInstance("SHA-256");
            byte[] bytes = digest.digest(text.getBytes(StandardCharsets.UTF_8));
            StringBuilder hexString = new StringBuilder();
            for (byte b : bytes) {
                String hex = Integer.toHexString(0xff & b);
                if (hex.length() == 1) hexString.append('0');
                hexString.append(hex);
                        }
            return hexString.toString();
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("SHA-256 algorithm not found", e);
        }
    }

    public static String hash(List<String> arr) {
        String joinString = String.join("", arr);
                System.out.println(joinString);
        return sha256Hash(joinString);
    }
}

就是把api_secret 和param 连接到一起,在取sha256摘要
01KKZYZBXK83GQMSHR4D200TA5{"widgetid":"626031800084554","userInputs":{"sfz":{"idCard":"123"}}}

JAVA代码计算的结果
1dbed0bc4bf26e01781cddee13f2323d51ec89b5767dbafe82e81ca7a1e3af92

用火山取数据SHA256没有得到这个值,哪个大神给看看怎么个事?

**闲置火山视窗狗,联系QQ:332690958
回复

使用道具 举报

55

主题

401

帖子

2820

积分

贵宾

Rank: 9Rank: 9Rank: 9

积分
2820
沙发
 楼主| 发表于 昨天 22:57 | 只看该作者
编辑框_签名.内容 = 到小写 (加密.取数据SHA256 (文本到UTF8 (编辑框_APISecret.内容 + 编辑框_提交内容.内容, 假)))


解决了,之前没有假,加上就好了。
**闲置火山视窗狗,联系QQ:332690958
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-3-20 05:01 , Processed in 0.079101 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表