c# - 就大小而言,最好的对称 .net 加密提供程序是什么?

标签 c# serialization encryption

我有一个场景,我需要将结构序列化为字节数组或字符串,对其进行加密,然后将其存储在 SQL 表中。

问题在于该表可能会包含数百万行,因此大小非常重要。

我一直在使用 BinaryFormatter 序列化为 byte[],将其转换为 Ascii,然后使用 RijndaelManaged 提供程序对其进行压缩。

加密前,该字符串大约有 230 个字节。加密后,它超过 600 字节。

有谁知道是否有任何其他加密提供商会在这方面做得更好?或者,是否确实有更好的方法可以解决这个问题?

非常感谢,

Z

最佳答案

一般来说,加密算法只会增加固定的开销(对于 IV,在非对称加密算法的情况下,是加密的对称 key )。如果您看到大小增加了 2 倍,则表明您在加密之前或之后进行了一些操作,这增加了数据的大小。

我会删除 ascii 转换 - 加密算法在原始二进制数据上工作得很好 - 并确保你存储到数据库中的是原始二进制 blob,而不是 base64-ing 或类似的。如果您仍然遇到问题,请发布您正在使用的代码。

关于c# - 就大小而言,最好的对称 .net 加密提供程序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4764966/

相关文章:

c# - 通过类重用 xna 原语

java - 如何为父类和子类使用单独的自定义 json 序列化程序?

凯撒加密程序不会产生预期的密文

python - Python 中的真正安全性

c - C 语言的简单凯撒密码程序

c# - 为什么现在 ASP.NET 母版页上的 Context.User 为空?

c# - 为什么我的下拉菜单感觉很笨重?

c# - 使用 XElement 的方法 Elements(XName) 的 Linq To Xml 问题

Kotlinx 序列化 - 如何为未知字段名称编写数据类

java - 初始化套接字上的ObjectInputStream block