求助各位大佬C# RSAwithSHA256 签名使用PSS填充方式,需要指定salt长度为32。(PSS签名中包含随机因子,因此每次签名结果都会变化)

qq_35340878 2023-12-11 20:19:22

求助各位大佬C# RSAwithSHA256 签名使用PSS填充方式,需要指定salt长度为32。(PSS签名中包含随机因子,因此每次签名结果都会变化),应该这么写。。

...全文
369 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sawaraka 2023-12-11
  • 打赏
  • 举报
回复

using System;
using System.Security.Cryptography;
using System.Text;

public class RSASignatureExample
{
public static void Main()
{
try
{
// 创建RSA实例
using (RSA rsa = RSA.Create())
{
// 从文件或其他来源加载RSA密钥
// rsa.ImportParameters(...);

            // 需要签名的数据
            byte[] data = Encoding.UTF8.GetBytes("Example data to sign");

            // 设置PSS填充方式和salt长度
            RSASignaturePadding padding = RSASignaturePadding.Pss;
            int saltLength = 32; // 指定salt长度为32

            // 进行签名
            byte[] signature = SignData(rsa, data, padding, saltLength);

            Console.WriteLine("Signature: " + Convert.ToBase64String(signature));
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

private static byte[] SignData(RSA rsa, byte[] data, RSASignaturePadding padding, int saltLength)
{
    // RSA with SHA256
    HashAlgorithmName hashAlgorithm = HashAlgorithmName.SHA256;

    // 使用PSS填充方式和指定的salt长度进行签名
    return rsa.SignData(data, hashAlgorithm, padding, saltLength);
}

}

qq_35340878 2023-12-11
  • 举报
回复 2
@sawaraka 好像这个return rsa.SignData(data, hashAlgorithm, padding, saltLength); 不对捏

302,160

社区成员

发帖
与我相关
我的任务
社区描述
C#领域交流社区,旨在为大家提供一个文明交流,互相探讨兴趣爱好的环境,欢迎各位大佬加入。
c# 个人社区 广东省·深圳市
社区管理员
  • 桃花键神
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧