Ric*_*vet 0 php php-password-hash
我致力于产生独特的随机价值.
您好我一直在检查password_hash的功能,如果您使用相同的参数,我需要知道是否可以生成相同的结果.
例如:
password_hash('12345678',PASSWORD_BCRYPT,['cost'=> 13]) - > $ 2y $ 13 $ 8grJKASTBm87TU56QRGbTe7m4FHqis9xVYxBJ.1YL./ EgOvu0TPvG
如果我重复这个操作"n"次,是否可以复制相同的结果?或将永远改变价值.
如果无法确定总是会有所不同,那么这个修改(添加time())是否可以解决问题总是变得不同的值?
password_hash('12345678'.time(),PASSWORD_BCRYPT,['cost'=> 13]);
所有这些问题都是试图获得一种简单的方法来获得一个独特的"令牌",而不使用典型的系统(如果这个值存在于bbdd中生成另一个),避免查询太多次.
password_hash将添加随机盐值.独特的盐值将导致非常高概率的独特哈希值.随机盐将从系统上可用的最佳随机数生成器中获取,因此它的唯一性非常高.
不,不能保证盐将是唯一的,或者哈希将是唯一的.但是,除非你每秒产生数十亿个哈希值,否则你永远不可能找到重复的东西.
如果您只对一个唯一的令牌感兴趣,只需获取一个随机数而不是滥用密码散列函数,而不是为它们设计的东西.优选random_bytes用于此.