带有短加密字符串的流密码加密

Posted

技术标签:

【中文标题】带有短加密字符串的流密码加密【英文标题】:Stream Cipher Encryption with short encrypted string 【发布时间】:2012-05-18 11:04:46 【问题描述】:

我正在寻找一种 Stream Cipher 加密方法,这将导致加密的字符串尽可能短,并且只包含字母数字字符。 .NET中有这样的东西吗?我已经研究过,但找不到类似的东西。

谢谢,

【问题讨论】:

我在这里找到了答案 ***.com/questions/1192732/… ,这意味着它不可能,因为加密也意味着使值更长。最好的办法是保持输入的大小相同,但如果结果必须是字母数字,则必须使用更长的字符串。 嗯,从数学上讲,您应该能够使用完全相同的输入大小 + 最大 1 位。但是要让它表现得很好是很棘手的,很多分区和大数字。不过,您可以尝试尽可能多地对齐,然后再转换回来。 【参考方案1】:

我在这里Really simple short string compression 找到了答案,这意味着它不可能,因为加密也意味着使值更长。最好的办法是保持输入的大小相同,但如果结果必须是字母数字,则必须使用更长的字符串

【讨论】:

而且在流密码的情况下,您还必须添加一个随机数,使其更长。【参考方案2】:

您可以缩短它 - 只需使用 java 或其他一些库压缩生成的加密字符串并输出为十六进制。非常直接。

【讨论】:

您可以在我作为评论提供给我自己的帖子的链接中找到,为什么十六进制完全不可能作为有效的解决方案。 加密数据无法压缩。

以上是关于带有短加密字符串的流密码加密的主要内容,如果未能解决你的问题,请参考以下文章

简单的流加密解密

7.springsecurity密码加密问题

带有应用密码的 Swift 对称加密

excel加密忘记密码怎么解开

某字符串应用MD5加密成32位之后,如何对其进行解密?

如何使用 aes 算法加密 sqlite 文件?