加密/解密建议

时间:2010-05-21 12:03:34

标签: encryption

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

例如:

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

上面是php

可以是任何计算机语言:

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

by fixed意味着总是相同的:32个字符,64个字符或X个字符。

我研究了一点,看起来很难或不可能。 但你永远不知道我认为它可能会被问到

如果你不问你没有得到:) thnx

2 个答案:

答案 0 :(得分:3)

不,没有。你要求写一个函数,它接受n位输入并返回32个字符的输出,可以反转。没关系加密,如果我有一个可以做到这一点的算法,那我就会卖掉压缩技术。它根本不可能 - 输出的32个字符只能无损编码32个字符的输入

答案 1 :(得分:1)

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

如果没有上限,由于信息理论的原因,这是不可能的(你必须以某种方式存储无限数量的字符作为有限数量的[加密]字符,这通常是不可能的)。要了解原因,请查看pigeonhole principle