You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中SHA512加密为字节数组后json_encode去除引号实现方法

解决方案

问题根源是PHP中unpack('C*', $data)返回的数组默认以1为起始索引,不符合JSON序列化对索引数组「从0开始、索引连续」的判定规则,因此json_encode会将其转为关联对象格式。
你只需要用array_values()重置数组的索引即可:

// 计算sha512哈希并拆分为单字节数组
$hashBytes = unpack('C*', hash('sha512', $pass, true));
// 重置索引为从0开始的连续数字索引
$password = array_values($hashBytes);
// 传入API调用对象
$apiCall->setPassword($password);

调整后再对$apiCall执行json_encode,得到的Password字段就会是你需要的无引号纯数组格式。

内容的提问来源于stack exchange,提问作者KoreLewi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:54:05