有沒有一種方法可以將字符串轉換為二進制然后再返回到標準PHP庫中?要弄清楚我要做什么,是將密碼存儲在數據庫中。我將首先使用哈希函數將其轉換,然后最終將其存儲為二進制。我發現最好的方法是使用此功能。似乎同時散列并以二進制輸出。http://php.net/manual/zh/function.hash-hmac.php
3 回答

米琪卡哇伊
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));

婷婷同學_
TA貢獻1844條經驗 獲得超8個贊
字符串只是字節序列,因此實際上是PHP中的二進制數據。您到底想做什么?
編輯
如果你想在數據庫中存儲二進制數據,這個問題經常是在你的數據庫中的列定義。PHP不二進制數據和字符串之間進行區分,但是數據庫做。比如在MySQL中,你應該存儲在二進制數據BINARY,VARBINARY或BLOB列。
另一種辦法是給base64_encode你的PHP字符串,并將其存儲在一些VARCHAR或TEXT數據庫列。但要注意的是,當字符串的長度將增加base64_encode使用。
- 3 回答
- 0 關注
- 362 瀏覽
添加回答
舉報
0/150
提交
取消