gpt4 book ai didi

c# - AES输出,它比输入小吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:07 24 4
gpt4 key购买 nike

我想加密一个字符串并将其嵌入到 URL 中,因此我想确保加密后的输出不大于输入。

AES 是正确的选择吗?

最佳答案

不可能创建任何始终创建比输入小的输出但可以将任何输出反转回输入的算法。如果您允许“不大于输入”,那么基本上您只是在谈论同构算法,它们总是与输入大小相同。这是由于 pigeonhole principle .

除此之外,加密通常有一点填充(例如“到最接近的 8 个字节,四舍五入”- 在 AES 中,这是 16 个字节)。哦,最重要的是你有文本和二进制之间转换的问题。加密算法通常以二进制形式工作,但 URL 以文本形式工作。即使您采用 ASCII,您最终也可能会得到一个不是 ASCII 的加密二进制值。在文本中表示任意二进制数据的最简单方法是使用 base64。还有其他非常复杂的替代方案,但一般的“将文本转换为二进制、加密、将二进制转换为文本”模式是最简单的。

关于c# - AES输出,它比输入小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1055078/

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