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
相关产品推荐
相关产品推荐

