有没有办法加密任何长度的任何字符串或文件,并返回一个固定长度的密钥。
例如:
$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
答案 0 :(得分:3)
不,没有。你要求写一个函数,它接受n位输入并返回32个字符的输出,可以反转。没关系加密,如果我有一个可以做到这一点的算法,那我就会卖掉压缩技术。它根本不可能 - 输出的32个字符只能无损编码32个字符的输入
答案 1 :(得分:1)
是的,如果您要加密的字符数有上限 X ,则可以这样做。只需使用任何加密算法进行加密,然后将结果填充到 X 字符。
如果没有上限,由于信息理论的原因,这是不可能的(你必须以某种方式存储无限数量的字符作为有限数量的[加密]字符,这通常是不可能的)。要了解原因,请查看pigeonhole principle。