讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

updream

一键生成高质量推广成片

剧云
剧云

中文短剧剧本制作平台

AniShort
AniShort

AI短剧协同制作平台

phpEnv如何开启PHP的hash扩展 phpEnv数据加密支持

轻墨大大_5602

轻墨大大_5602

发布时间:2026-04-30 09:12:07

|

853人浏览过

|

来源于php中文网

原创

phpEnv 默认启用 hash 扩展但需确认 PHP ≥ 5.1.2 且未被禁用;验证方法包括 php -m | grep hash、phpinfo() 查看 enabled 状态及 hash_algos() 返回结果;启用步骤为编辑对应版本 php.ini 取消 extension=hash 注释或新增该行并重启服务;注意 hash 仅提供单向摘要,不可用于密码存储(应使用 password_hash())或加解密(需 openssl 扩展)。

phpenv如何开启php的hash扩展 phpenv数据加密支持

phpEnv 默认已启用 hash 扩展,无需手动开启 —— 但必须确认 PHP 版本 ≥ 5.1.2,且未被禁用(如通过 disable_functions 或 extension= 注释掉)。

如何验证 hash 扩展是否真正可用

很多人以为装了 phpEnv 就“自动支持”,结果调用 hash_algos() 报错或返回空数组。根本原因是:phpEnv 的不同 PHP 版本包可能默认关闭部分扩展,或用户修改过 php.ini。

  • 运行 php -m | grep hash(命令行),若无输出,说明扩展未加载
  • 检查 phpinfo() 页面中 “hash” 模块是否显示为 “enabled”,注意看 “Registered hash functions” 下是否有算法列表(如 sha256、whirlpool)
  • 直接执行 var_dump(hash_algos());,若返回 bool(false) 或空数组,大概率是 extension=hash 被注释或写错路径

phpEnv 中启用 hash 扩展的实操步骤

phpEnv 的配置文件位于 phpenv\php\{version}\conf\php.ini,不是系统级全局 ini。改错位置等于白改。

  • 用记事本或 VS Code 打开对应 PHP 版本的 php.ini
  • 搜索 ;extension=hash,去掉前面的分号(;),确保为 extension=hash
  • 如果该行不存在,就在 [Dynamic Extensions] 段落末尾新增一行 extension=hash
  • 保存后,**必须重启 phpEnv 的 Web 服务(如 Apache/Nginx)或 CLI 进程**,否则修改不生效

hash 扩展 ≠ 数据加密,别混淆用途

这是最容易踩坑的地方:hash 扩展只提供摘要(digest),不是加密(encryption)。它不能“还原”,也不带密钥保护 —— 除非你主动组合使用 hash_hmac()。

btpanel phpsite 宝塔面板PHP网站
btpanel phpsite 宝塔面板PHP网站

宝塔面板 PHP 网站管理:站点创建、删除、启停、PHP 版本切换、域名管理、SSL证书管理、伪静态管理、数据库管理

下载

立即学习“PHP免费学习笔记(深入)”;

  • hash('sha256', $data) 是纯摘要,适合校验文件完整性,但**绝不能用于密码存储**
  • hash_hmac('sha256', $data, $key) 带密钥,可防篡改,但仍是单向,无法解密
  • 需要加解密(比如存手机号后还能读出来),必须用 openssl_encrypt() + openssl_decrypt(),且依赖 openssl 扩展已启用
  • 密码哈希请无条件用 password_hash(),它底层调用的是 bcrypt/Argon2,和 hash 扩展无关

常见报错与绕过陷阱

即使 hash 扩展开着,也常因参数或环境出错:

  • hash(): Unknown hashing algorithm → 传入了不支持的算法名,比如 'blake3'(PHP 8.2+ 才原生支持),先用 hash_algos() 看实际可用列表
  • hash_hmac(): Unknown cipher algorithm → 把 hash_hmac() 的第三个参数(key)误当成了算法名,注意顺序:hash_hmac($algo, $data, $key)
  • Windows 下 phpEnv 调用 hash_pbkdf2() 失败 → 某些旧版 phpEnv 的 OpenSSL 库缺失 PBKDF2 支持,升级到 PHP 7.4+ 或改用 password_hash()
  • 用 hash_init('md5') 后忘记 hash_final() → 增量哈希必须配对调用,否则返回空或警告

真正麻烦的从来不是“怎么开扩展”,而是搞清你要解决的问题属于哪一层:摘要?消息认证?密码存储?还是双向加解密?选错函数名、传错参数类型、混用算法强度,比扩展没开更难排查。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

函子Zion

一款支持AI搭建、可视化编辑和多端发布的全栈无代码开发平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

12584

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

7241

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2235

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

4568

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

5274

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

4151

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

6017

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4722

2023.11.13

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

60

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
使用phpenv集成环境安装极致CMS
使用phpenv集成环境安装极致CMS

共2课时 | 308人学习

phpEnv手册
phpEnv手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn