gpt4 book ai didi

c# - RSA 加密,长度变差

转载 作者:IT王子 更新时间:2023-10-29 03:49:44 24 4
gpt4 key购买 nike

调用以下函数时:

byte[] bytes = rsa.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(stringToEncrypt), true);

我现在收到错误:长度错误。

使用较小的字符串它可以工作,任何想法可能是我传递的字符串的问题都在 200 个字符以下。

最佳答案

RSA 加密仅适用于少量数据,您可以加密的数据量取决于您使用的 key 大小,例如 1024 位 RSA key 和 PKCS # 1 V1.5 填充,最多可以加密117字节,使用2048的RSA key ,可以加密245字节。

这是有充分理由的,非对称加密的计算成本很高。如果你想加密大量数据,你应该使用对称加密。但是,如果您想要不可否认性怎么办?那么你接下来要做的就是同时使用两者。您创建一个对称 key 并使用非对称加密交换它,然后安全地交换对称 key 来加密您的大量数据。这就是 SSL 和 WS-Secure 在幕后使用的内容。

关于c# - RSA 加密,长度变差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1496793/

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