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

如何在Go语言中实现带PKCS1填充的SHA256 RSA签名与验签?

请求签名规则
  • 签名:向服务提供方(Provider)发送的每一次请求,都必须将Request字段的信息转换为JSON字符串,再使用我方持有的私钥文件进行签名。
  • 采用RSA算法,密钥长度需设置为2048位。
  • 私钥由我方留存,公钥文件发送给服务提供方,密钥长度为2048位。
  • 生成签名时,哈希算法设置为SHA256,填充方式为PKCS1。
  • 服务提供方收到请求后,需使用请求方的公钥对请求字符串进行签名验证。
  • sign字段的值为Request字段数据的字符串形式。
  • 服务提供方(Provider)指使用我方服务的机构。

C#示例代码

public string Sign(string content) 
{
    using(var rsa = new RSACryptoServiceProvider(2048)) 
    {
        var rsaParameters = Common.Extensions.LoadFromXmlFile(@"D:\Projects\iva-toll-service\Key\private.xml");
        rsa.ImportParameters(rsaParameters);
        var dataBytes = Encoding.UTF8.GetBytes(content);
        var signBytes = rsa.SignData(dataBytes, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
        var response = Convert.ToBase64String(signBytes);
        return response;
    }
}

内容的提问来源于stack exchange,提问作者ehsan davari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:01:22