Laravel Un Hash the Hashed值?

时间:2016-06-13 10:12:55

标签: php laravel laravel-5

变量$ var = 123456及其各自的 散列值= $ 2y $ 10 $ U7Xh..V1deexlMK1osMLY.FSXvLHzg5NnoxLFFFKdmv6bPpB5bElS,它将存储在数据库表中。 我如何解密散列值?

对于加密,我使用以下技术 示例:$ var = \ Hash :: make($ var);

2 个答案:

答案 0 :(得分:3)

当您使用 Hash :: make 时,无法取消密码,如果您正在搜索密码重置,那么您显然可以让用户更改密码。

答案 1 :(得分:1)

要添加更多信息:

加密哈希是一种单向 obfuscation数据。任何计算机语言都没有这种“unhash()”函数。通过哈希传递值,它旨在生成数据:

  1. 不太可读
  2. 不太可猜测(通过自动攻击变体,请参阅“暴力”)
  3. 可以将其描述为 Lossy 加密技术。虽然可以将原始值与原始值的哈希值进行比较,以确定值是否匹配,但原始数据在散列中为 lost

    加密/解密是加密的 Lossless 变体。通过许多编程技术(基于硬件或软件),使用 key 转换数据。该密钥应该由一方(用于存储)或由一个或多个伙伴系统(用于传输)知道。这类似于锁中的键。当钥匙以正确的方式推动滚筒中的所有销时,锁打开,门/盒/锁定物品也打开。对于加密数据也是如此,如果共享密钥,则多个密钥可以访问数据。

    更安全的系统(通常涉及数据传输)需要一个协同工作的公钥和私钥。这类似于必须在两个单独的锁中转动两个键才能打开门/盒/物品。

    不幸的是,我们不能对人为错误承担责任。如果你在身体上写下你的密码,其他人将有机会复制它(再次,就像用肥皂或类似物复制一把钥匙)并将其用于他们自己的邪恶目的。

    见:

    https://security.stackexchange.com/questions/33860/how-does-hashing-work

    http://www.howtogeek.com/166832/brute-force-attacks-explained-how-all-encryption-is-vulnerable/