C# - 获取RSA加密进度
C# - Get RSA encryption progress
如何获取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));
查看此博客 post:https://www.codeproject.com/Articles/10877/Public-Key-RSA-Encryption-in-C-NET
您可以让 for 循环的每次迭代都增加进度条。
如需更具体的帮助post您的代码并让我们知道您卡在哪里。
使用 16k 位密钥,我可以在 2893 毫秒内进行 1000 次加密调用(因此每次约 3 毫秒),这似乎还不够慢,不需要进度条。
另一方面,Decrypt 在 1000 次调用中耗时 458,554 毫秒(因此每次约 460 毫秒)。但是半秒似乎仍然不能保证进度条。而且拥有 16k 位 RSA 密钥的人并不多(因为它们需要数小时才能生成)
其他一些快速数字(每 1000 次调用的时间,以毫秒为单位):
Keysize | Encrypt | Decrypt
--------|---------|--------
16384 | 2893 | 458554
4096 | 216 | 14636
3584 | 182 | 13259
3072 | 149 | 8370
2560 | 127 | 4680
2048 | 94 | 2083
1536 | 86 | 1236
1024 | 71 | 473
512 | 64 | 150
所以你能做的最好的就是发送短信的假进度条......你可以试探一下你认为需要多长时间,然后人为地移动进度条,然后做一个"eep" 80% 的时刻,实际上还没有完成。
由于指南是只对 bootstrap 对称操作使用非对称操作(正如评论中已经建议的那样),如果它们'我们的速度足够慢,您可以保证。如果您想为非对称操作添加软糖因素,那也没什么坏处。
如何获取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));
查看此博客 post:https://www.codeproject.com/Articles/10877/Public-Key-RSA-Encryption-in-C-NET
您可以让 for 循环的每次迭代都增加进度条。
如需更具体的帮助post您的代码并让我们知道您卡在哪里。
使用 16k 位密钥,我可以在 2893 毫秒内进行 1000 次加密调用(因此每次约 3 毫秒),这似乎还不够慢,不需要进度条。
另一方面,Decrypt 在 1000 次调用中耗时 458,554 毫秒(因此每次约 460 毫秒)。但是半秒似乎仍然不能保证进度条。而且拥有 16k 位 RSA 密钥的人并不多(因为它们需要数小时才能生成)
其他一些快速数字(每 1000 次调用的时间,以毫秒为单位):
Keysize | Encrypt | Decrypt
--------|---------|--------
16384 | 2893 | 458554
4096 | 216 | 14636
3584 | 182 | 13259
3072 | 149 | 8370
2560 | 127 | 4680
2048 | 94 | 2083
1536 | 86 | 1236
1024 | 71 | 473
512 | 64 | 150
所以你能做的最好的就是发送短信的假进度条......你可以试探一下你认为需要多长时间,然后人为地移动进度条,然后做一个"eep" 80% 的时刻,实际上还没有完成。
由于指南是只对 bootstrap 对称操作使用非对称操作(正如评论中已经建议的那样),如果它们'我们的速度足够慢,您可以保证。如果您想为非对称操作添加软糖因素,那也没什么坏处。