创建小于1024位的加密签名

时间:2011-05-07 00:50:52

标签: .net qr-code digital-signature

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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