Cas*_*lie 2 php encryption cryptography
$clear_text = "hello";
$salt_ = sha1("758hF4H7gJi98U6o");
$salt = substr($salt_, 0, 12);
$hash = substr(hash("sha512", $clear_text), 0, 20).$salt;
Run Code Online (Sandbox Code Playgroud)
如您所见,$hash生成一个32个字符的字符串,使其看起来与md5相同.所以黑客会尝试删除这个md5哈希,事实上它并不是那样的!这会不会很狡猾,这会是个好主意吗?
不要试图发明自己的加密,使用标准化的哈希算法,如bcrypt,scrypt或PBKDF2.
请参阅:
在安全方面有一个原则叫做Kirckhoff的原则,其中一条规则是"不能要求保密,它必须能够在没有不便的情况下落入敌人的手中"建议攻击者可以访问你的机器,并能够转储您的源文件以及您的数据库,它不会花很长时间来发现您的算法.
现在你自己的滚动算法并没有真正提供任何额外的保护,不受正常的sha512 +盐的影响.无论是否使用算法,他能够攻击哈希的速度都是相同的.这意味着一旦找到算法,你的方案就没用了.
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |