PHP 中的哈希、数据结构与函数式编程
1. PHP 中的哈希函数
哈希是现代编程中至关重要的一部分,在数据安全和隐私方面,哈希在计算机密码学中起着关键作用。PHP 提供了多个内置的哈希函数,以下是这些函数的详细介绍:
| 函数名 | 功能 | 特点 |
| ---- | ---- | ---- |
| md5 | 计算给定字符串的 md5 哈希值 | 生成 32 个字符的唯一哈希值,单向哈希,无法解密 |
| sha1 | 计算给定字符串的 sha1 哈希值 | 生成 40 个字符的哈希值,单向哈希,若第二个参数为 true,生成 20 个字符的原始输出哈希字符串,用于密码哈希不够安全 |
| crypt | 为给定字符串生成单向哈希键,可指定盐字符串 | 使用 UNIX DES 算法或其他可用的哈希算法,PHP 7 调用时未提供盐会产生 E_NOTICE |
| password_hash | 为密码生成哈希值 | 接受两个参数,默认使用 bcrypt 算法,也可选择 blowfish 算法 |
| password_verify | 验证使用 password_hash 生成的密码 | 第一个参数是输入的密码,第二个参数是哈希字符串,返回验证结果(true 或 false) |
| hash_algos | 获取系统中注册的哈希算法列表 | 列出当前系统中所有可能的哈希算法选项 |
| hash | 根据指定的哈希算法和字符串生成哈希键 | 可选择获取原始二进制输出,哈希键长度根据所选算法而异 |
以下是部分函数的使用示例:
//