php加密之Hash
允许使用各种哈希算法直接或增量处理任意长度的信息。构建此扩展不需要其他扩展,并且属于PHP核心部分
工具/原料
php开发环境
php官方学你手册
Hash扩展常用函数学习
1、查看hash支持的加密算法有哪些array hash_algos ( void )

3、复制hash的上下文对象resource hash_copy ( resource $context )通过下图的代码可以看出在执行了其他的hash函数后上下文中的内容会发生改变,此hash_copy复制的是改变后的上下文对象

6、通过指定一个文件的内容生成hash值(就如果使用文件密囊枣荷罢钥加密一样)string hash_file ( string $algo , string $filename [, bool $raw_output = false ] )$algo 加密算法$filename 加密文件$raw_output 设置为 TRUE,输出格式为原始的二进制数据。 设置为 FALSE,输出小写的 16 进制字符串string hash ( string $algo , string $data [, bool $raw_output = false ] )$algo 加密算法$data 加密文件$raw_output 设置为 TRUE,输出格式为原始的二进制数据。 设置为 FALSE,输出小写的 16 进制字符串

8、生成所提供密码的 PBKDF2 密钥导出(其实可以看做通过提供的密码和提供的随机码生成另一个密码)string hash_pbkdf2 ( string $algo , string $password , string $salt , int $iterations [, int $length = 0 [, bool $raw_output = false ]] )$algo 哈希算法名称$password 要进行导出的密码。$salt 进行导出时所使用的"盐",这个值应该是随机生成的。$iterations 进行导出时的迭代次数。$length 密钥导出数据的长度。如果 raw_output 为 TRUE, 此参数为密钥导出数据的字节长度。如果 raw_output 为 FALSE, 此参数为密钥导出数据的字节长度的 2 倍,因为 1 个字节数据对应的 2 个 16 进制的字符。如果传入 0,则使用所选算法的完整输出大小。$raw_output 设置为 TRUE 输出原始二进制数据, 设置为 FALSE 输出小写 16 进制字符串。
