将字符串转换为二进制,然后再次使用PHP返回

有没有一种方法可以将字符串转换为二进制然后再返回到标准PHP库中?


要弄清楚我要做什么,是将密码存储在数据库中。我将首先使用哈希函数将其转换,然后最终将其存储为二进制。


我发现最好的方法是使用此功能。似乎同时散列并以二进制输出。


http://php.net/manual/zh/function.hash-hmac.php


守候你守候我
浏览 339回答 3
3回答

米琪卡哇伊

您要使用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: Stackecho pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));

莫回无

是的,当然!那里...$bin = decbin(ord($char));...然后再回来。$char = chr(bindec($bin));

婷婷同学_

字符串只是字节序列,因此实际上是PHP中的二进制数据。您到底想做什么?编辑如果你想在数据库中存储二进制数据,这个问题经常是在你的数据库中的列定义。PHP不二进制数据和字符串之间进行区分,但是数据库做。比如在MySQL中,你应该存储在二进制数据BINARY,VARBINARY或BLOB列。另一种办法是给base64_encode你的PHP字符串,并将其存储在一些VARCHAR或TEXT数据库列。但要注意的是,当字符串的长度将增加base64_encode使用。
打开App,查看更多内容
随时随地看视频慕课网APP