1

我需要签署一个QR 码,并尝试使用一些标准的 .Net 代码来创建加密签名:

var privateKey = (RSACryptoServiceProvider) certificate.PrivateKey;
var data = Encoding.UTF8.GetBytes( payload );
var signature = privateKey.SignData( data, new SHA1Managed() );

这可行,但签名长度为 1024 位 - 对于我想要创建的 QR 码来说太多了。

有谁知道是否可以生成更短的签名,例如 512 位?

或者,是否有签署二维码的标准?

4

1 回答 1

1

签名的长度将与您正在使用的密钥的模数相同。如果您在创建证书时未指定模数,则默认为 1024 位。您可以将长度更改为 512,然后生成的签名将是 512 位。

要在创建证书时更改模数,请使用RSAParameters结构。

于 2011-05-07T01:29:58.037 回答