You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#计算符合要求的AMP脚本哈希值

核心错误原因:你在计算过程中多余执行了「将哈希字节转为十六进制字符串」的步骤,AMP脚本的哈希规则要求直接对SHA384生成的原始二进制哈希结果做Base64Url编码,不需要先转十六进制格式,你原来的代码把十六进制字符串再做编码,自然和要求的结果不一致。

以下是修正后的可用实现:

// 计算脚本内容的SHA384哈希
var sha384 = SHA384.Create();
var hashBytes = sha384.ComputeHash(Encoding.UTF8.GetBytes(model.ScriptContents));
// 直接对原始哈希字节做Base64Url编码
var base64 = Convert.ToBase64String(hashBytes)
    .TrimEnd('=')
    .Replace('+', '-')
    .Replace('/', '_');
// 拼接前缀得到最终符合要求的哈希值
var hash = $"sha384-{base64}";

额外注意:计算哈希的脚本内容必须和实际运行的amp-script脚本内容完全一致,包括所有换行、空格、缩进等空白字符,任意字符差异都会导致哈希校验不通过。

内容的提问来源于stack exchange,提问作者Sam K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 05:54:00