相同字符串的唯一加密值

时间:2014-08-08 10:45:25

标签: php encryption laravel aes

在使用Laravel时,我最近注意到,当它加密一个值时,加密的字符串会不断变化。

例如

ecrypt('abc')返回 xyzABCDXZY

但如果我稍后运行相同的功能:

ecrypt('abc')返回 xyzABDJSAS

现在这让我真的很困惑。如果每次调用函数时加密结果不同,那么在调用解密函数时它们是否能够恢复原始值(在这种情况下为 abc )?

我认为它与加密功能有关,但我不能为我的生活弄清楚什么和如何。有人可以对此有所了解吗?感谢。

1 个答案:

答案 0 :(得分:2)

实际上它可以解密它,例如,除了加密的纯文本(如种子值)之外,加密算法可以在加密数据中嵌入变量,因此算法

1)加密:生成种子,使用该种子加密数据,隐藏加密数据内的种子,生成最终加密数据

2)解密:读取加密数据,获取隐藏的种子并应用此方法获取纯文本

在所有情况下,纯文本数据都是相同的。