PHP的哈希加密

password_hash的三种加密方式

1: password_hash("这是要加密的数据", PASSWORD_DEFAULT);
// 输出值:$2y$10$n3NgmZhjatBkOmMLzGxtmusnIJk7Z0k8MAticaABfqxLs/T/4jsUa

2:
$options = [
    'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options);
// 输出值:$2y$12$rb8hK0rIh8hSEcJi1fLfbOF1bbVXfj813QLaIKqhkxkG1OcKsCKri
3:
 $options = [
            'cost' => 11,
            'salt' => openssl_encrypt('这是要加密的数据','aes-128-cbc', 'passphrase'),
        ];
echo password_hash("这是要转成哈希的数据", PASSWORD_BCRYPT, $options);
// 输出值是:$2y$11$VEg5ZVBJRS92ZUFLbkF3U.MAq2R0tupMpzqq3RmAP1tyWf8O/RsLO

哈希加密的特点是,输入数据不固定,输出的长度是固定的。所以,输出数据是一个有限的集合。把一个无限的集合中的每个元素映射到一个有限的集合,就必然存在某些不同的输入得到了相同的输出。
很显然,碰撞的概率和输出的集合大小相关。输出位数越多,输出集合就越大,碰撞率就越低。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容