我需要签署一个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码的标准?
答案 0 :(得分:1)
签名的长度与您使用的密钥的模数相同。如果在创建证书时未指定模数,则默认为1024位。您可以将长度更改为512,然后生成的签名将为512位。
要在创建证书时更改模数,请使用RSAParameters结构。