我刚开始学习PHP,我想为我的大学最后一年的项目创建一个带有登录功能的网站。我读到很多地方都说blowfish是哈希方法中最好的,比如这里:openssl_digest vs hash vs hash_hmac? Difference between SALT & HMAC?
我在每个关于crypt方法的地方都看到一个字符串,如$2y$07$usesomesillystringforsalt$
。我的主要问题是:我如何随机生成这个字符串?而我已经从某些地方了解到时间戳和mt_rand()不安全。
另外,我听说AES是最近首选的技术,但从我所看到的来看,用PHP实现起来似乎相当棘手!在存储密码时,blowfish仍然是可接受的保护方法吗?
$algo$cost$salt$
,其中 salt 是微秒级别的时间戳加上您的域名,经过 sha1 加密后取前 21 个字符。超过 21 个字符将被删除。也许我早期做的东西会对你有兴趣 php-pdo-secure-login-script-example。 - Lawrence Cherone