有没有一种方法可以将字符串转换为二进制然后再返回到标准PHP库中?要弄清楚我要做什么,是将密码存储在数据库中。我将首先使用哈希函数将其转换,然后最终将其存储为二进制。我发现最好的方法是使用此功能。似乎同时散列并以二进制输出。http://php.net/manual/zh/function.hash-hmac.php
3 回答
![?](http://img1.sycdn.imooc.com/54585050000156a302200220-100-100.jpg)
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
您要使用pack和base_convert。
// Convert a string into binary
// Should output: 0101001101110100011000010110001101101011
$value = unpack('H*', "Stack");
echo base_convert($value[1], 16, 2);
// Convert binary into a string
// Should output: Stack
echo pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));
![?](http://img1.sycdn.imooc.com/533e4c0500010c7602000200-100-100.jpg)
婷婷同学_
TA贡献1844条经验 获得超8个赞
字符串只是字节序列,因此实际上是PHP中的二进制数据。您到底想做什么?
编辑
如果你想在数据库中存储二进制数据,这个问题经常是在你的数据库中的列定义。PHP不二进制数据和字符串之间进行区分,但是数据库做。比如在MySQL中,你应该存储在二进制数据BINARY,VARBINARY或BLOB列。
另一种办法是给base64_encode你的PHP字符串,并将其存储在一些VARCHAR或TEXT数据库列。但要注意的是,当字符串的长度将增加base64_encode使用。
- 3 回答
- 0 关注
- 337 浏览
添加回答
举报
0/150
提交
取消