【发布时间】:2017-06-22 10:44:43
【问题描述】:
如何获取 RSA 加密进度?我想在进度条中显示它。 感谢您的帮助。
using System.Security.Cryptography;
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(4096);
//I want to get percentage process of this function, because it takes a lot of time.
byte[] encrypted = RSA.Encrypt(Encoding.Default.GetBytes("some text", true));
【问题讨论】:
-
通过将总字节数保存在一个变量中,并将当前字节数保存在另一个变量中。阅读How to Ask,展示您的代码并解释您的尝试。
-
你不能,那个方法不报告进度。如果可能的话,您唯一的选择是调用该方法或具有较小块的类似方法,并在两者之间更新进度。
-
但是,您通常不会使用 RSA 加密来加密大型二进制文件。相反,您生成一个随机密钥并使用更快的加密方法,如 RIJNDAEL,只使用 RSA 加密密钥。
-
谢谢。我会这样做的。
-
用 AES 代替 RIJNDAEL。 AES 是 Rijndael 的一个子集,而 Rijndael 在许多平台上不可用,而 AES 是。 AES -> 高级加密标准。在某些实现中,AES 可作为 Rijndael 的一个选项使用,并且很多时候是默认选项。
标签: c# encryption rsa progress