我正在尝试加密一些简单的东西,比如 int 或 long。我发现的最简单的方法如下:
int num = 2;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] numBytes = BitConverter.GetBytes(num);
byte[] encryptedBytes = rsa.Encrypt(numBytes, true);
问题是, encryptedBytes 是 128 字节长。在加密结果与输入的字节长度相同的情况下,如何加密数据(我以后仍可以解密)?
我知道如果我定义 RSACryptoServiceProvider(512) 或 RSACryptoServiceProvider(384),我可以缩短结果,但这已经很低了。
我需要输入 4 或 8 个字节,输出 4 或 8 个字节(分别)
谢谢!
*** 说明:
我想加密一些小东西(即 4 或 8 个字节)并获得类似大小的结果。在 C# 中最简单的方法是什么,同时仍然使用一些键(使用内置库)而不是一些 mod 和 shift 操作