Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加密字符串的最有效加密方法_C#_.net_Encryption - Fatal编程技术网

C# 加密字符串的最有效加密方法

C# 加密字符串的最有效加密方法,c#,.net,encryption,C#,.net,Encryption,加密字符串的最有效方法/加密提供程序是什么,它可以产生尽可能短的字符串。我们的目标是我们必须加密一个字符串,并且我们希望在加密后获得尽可能短的字符串 到目前为止,我们已经使用Tripple DES和Rijndael进行了测试,两者的加密长度完全相同。我也尝试过使用长键和短键,但也没有太大区别 我不是什么密码专家,所以我不知道为什么长度为y的字符串只能被加密到长度为x的原因是否有数学上的原因或解释-希望听听你的专家意见。你的字符串有多长?很长的字符串可以在加密前压缩 要生成与明文长度相同的密码文本

加密字符串的最有效方法/加密提供程序是什么,它可以产生尽可能短的字符串。我们的目标是我们必须加密一个字符串,并且我们希望在加密后获得尽可能短的字符串

到目前为止,我们已经使用Tripple DES和Rijndael进行了测试,两者的加密长度完全相同。我也尝试过使用长键和短键,但也没有太大区别


我不是什么密码专家,所以我不知道为什么长度为y的字符串只能被加密到长度为x的原因是否有数学上的原因或解释-希望听听你的专家意见。

你的字符串有多长?很长的字符串可以在加密前压缩

要生成与明文长度相同的密码文本,可以:

  • 使用流密码(如RC4)或其中一个密码

  • 在CTR模式下使用块密码(例如AES)


如果字符串全部为8字节或16字节,则可以在ECB模式下使用具有适当块大小且无填充的块密码。

MD5不是“加密”算法。无论输入的长度如何,所有哈希函数都会产生相同长度的输出。此外,散列是不可逆的(您不能“解密”它们),您可能还需要指定加密的强度。您只需将+1添加到所有字符值中,这将在技术上被加密,并将生成与输入字符串长度相同的输出字符串-这将是非常糟糕的加密!好的观点。128位应该是很好的起点。ROT13加密字符串的长度与原始字符串的长度相同。
大多数加密方法返回base64中的加密字符串
-不,大多数加密方法与base64无关,或者大幅增加其输入的长度(禁止填充)。Base64只是一种使用受限制的可打印字符集对任意二进制数据(如加密例程的输出)进行编码的方法。如果您可以直接存储加密例程的二进制输出,就不用麻烦在Base64中运行它了。字符串的长度不超过120个字符,对于压缩来说太短了。谢谢你的其他建议,我会看一看。:)如果您不寻求高级别的安全性,那么像Vigenère这样的经典密码可能会很有用。