代码之家  ›  专栏  ›  技术社区  ›  Val

加密/解密建议

  •  1
  • Val  · 技术社区  · 14 年前

    有没有办法加密任何长度的字符串或文件并返回一个固定长度的密钥?

    例如:

    $str = 'Hello World!'; 
    encrypt($str);//returns: "abc123"//a fixed length of characters.
    decrypt('abc123');//returns: "Hello World!"//the contents of the original string.
    

    以上是PHP

    可以是任何计算机语言:

    可以是任何固定的数字,只要它是固定的

    固定的意思是总是一样的:32个字符,64个字符或X个字符。

    我研究过一点,看起来很难或者不可能。 但你永远不知道,我觉得问这个可能是值得的。

    如果你不问,你就得不到:)thnx

    2 回复  |  直到 14 年前
        1
  •  1
  •   sleske    14 年前

    是的,如果有上界,这是可能的 X 要加密的字符数。只需使用任何加密算法进行加密,然后将结果填充到 X 字符。

    如果没有上限,这是不可能的,因为信息理论(您必须以某种方式存储无限数量的字符作为有限数量的[加密]字符,这在一般情况下是不可能的)。要了解原因,请查看 pigeonhole principle .

        2
  •  3
  •   Stewart    14 年前

    不,没有。您请求编写一个函数,它接受n位输入,并返回32个可反转的输出字符。别介意加密,如果我有一个可以做到这一点的算法的话,我会靠卖压缩技术发财的。这是不可能的-32个字符的输出只能无损编码32个字符的输入