创建小于 1024 位的加密签名

发布于 2024-11-05 22:18:38 字数 421 浏览 3 评论 0原文

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

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

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

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

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

I need to sign a QR code and I tried using some standard .Net code to create a cryptographic signature:

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

This works but the signature is 1024 bits long - too much for the QR code I want to create.

Does anyone know if it's possible to generate a shorter signature, e.g. 512 bits?

Alternatively, is there a standard for signing QR codes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

踏雪无痕 2024-11-12 22:18:38

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

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

The signature will be the same length as the modulus for the keys you are using. If you are not specifying the modulus when creating the certificate it will default to 1024 bits. You can change the length to 512 and then the resulting signature will be 512 bits.

To change the modulus when creating the certificate use the RSAParameters struct.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文