gpt4 book ai didi

c# - 加密加密数据

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:21 25 4
gpt4 key购买 nike

我想加密我使用 RSA 加密的加密数据。但是当我使用另一个公钥加密加密数据时。错误是“未指定的错误”

我认为问题来自 key 大小。

我的 key 大小是 1024 位。

简要源代码:

  1. 第一步:使用 key 大小为 1024 位的 RSA 公钥加密数据

    byte[] encryptedData = RSAalg.Encrypt(dataToEncrypt, false);
  2. 第二步:使用另一个 key 大小为 1024 位的 RSA 公钥加密数据

    byte[] encryptedData1 = RSAalg1.Encrypt(encryptedData, false);

错误显示在第二步。我该如何解决这个问题?

最佳答案

由于填充,您无法使用 1024 位 key 加密 1024 位数据(encryptedData 应该是这样)。

如果您使用的是 .NET 和 C#,则使用 false 加密意味着您使用 PKCS#1 填充,这(从内存中)将允许您加密 117 个字节(而不是 128 个字节)。

注意:您不应该重复第二次加密来获得您的结果——但您应该问问自己为什么要使用两个 key ( key 长度相同)将此数据加密两次。如果您想要更高的安全性,那么您应该使用更大的 key (一次)。 OTOH 如果您想要多个 key 来解密数据,那么您需要一种不同的策略。

关于c# - 加密加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10072555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com