php扩展hash模块基本使用的示例代码
程序员文章站
2022-04-11 19:49:01
...
php扩展hash模块基本使用的示例代码
<?php echo '<pre>'; $algos = hash_algos(); //列出所有支持的hash算法 // print_r($algos); // ------------------------------------------------------ // 字符串hash $data = 'The quick brown fox jumped over the lazy dog.'; echo hash('md5', $data); //md5 哈希 $key = 'md5-key'; echo hash_hmac('md5', $data, $key); //使用 HMAC 方法生成带有密钥的哈希值 // ------------------------------------------------------ // 文件hash $file = 'hmac.txt'; echo hash_file('md5', $file); echo hash_hmac_file('md5', $file, $key); // ------------------------------------------------------ /** * @param $algo hash算法 * @param $data string|array 字符串或者字符串数组 * @param $options 进行哈希运算的可选设置,目前仅支持:HASH_HMAC。当指定此选项时,必须指定 key 参数 * @param $key 当 options 参数为 HASH_HMAC 时,使用此参数传入进行 HMAC 哈希运算时的共享密钥 */ function my_hash_data($algo, $data, $options = 0, $key = NULL) { // resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] ) $ctx = hash_init($algo, $options, $key); if(is_string($data)) { hash_update($ctx, $data); } else if(is_array($data)) { foreach($data as $s) { hash_update($ctx, $s); //填充数据, 可以多次调用, 和拼接字符串效果一样 } } return hash_final($ctx); //输出最后的数据 } // test code echo my_hash_data('md5', $data); // ------------------------------------------------------ /** * 文件类型 hash */ function my_hash_file($algo, $filename, $options = 0, $key = NULL) { $ctx = hash_init($algo, $options, $key); /* 两个函数的不同之处: 1. hash_update_stream 第二个参数是一个打开的文件句柄 2. hash_update_file 第二个参数是一个文件名 */ hash_update_file($ctx, $filename); return hash_final($ctx); } // test code echo my_hash_file('sha1', $file);
以上就是php扩展hash模块基本使用的示例代码的详细内容,更多请关注其它相关文章!
推荐阅读
-
vue-cli扩展多模块打包的示例代码
-
Python中atexit模块的基本使用示例
-
PHP的Yii框架的基本使用示例
-
react-native-tab-navigator组件的基本使用示例代码
-
PHP swoole的process模块创建和使用子进程操作示例
-
PHP使用POP3读取邮箱接收邮件的示例代码
-
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
-
git中submodule子模块的添加、使用和删除的示例代码
-
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
-
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例