簡體   English   中英

MYSQL unhex()不等同於PHP hex2bin(),兩者給出的結果不同

[英]MYSQL unhex() is not equivalent to PHP hex2bin(), both give different results

我正在嘗試使用PHP而不是MYSQL在數據庫中添加鍵值

select unhex(md5('google.com')) from x;

輸出量

HVkg9LRLJ6gCvXfE8FNvWg==

但是使用PHP

echo hex2bin((md5("google.com")));

輸出量

Y ��K'��w��SoZ

我不確定這里出了什么問題,有幫助嗎?

Edit1約阿希姆·伊薩克森(Joachim Isaksson)

在此處輸入圖片說明

我不確定您如何獲得該值,但是在MySQL提示符下進行選擇會產生與PHP相同的值;

mysql> select unhex(md5('google.com'));
+--------------------------+
| unhex(md5('google.com')) |
+--------------------------+
| Y �K'��w��SoZ         |
+--------------------------+
1 row in set (0.00 sec)

您要顯示的是同一事物base64編碼值

mysql> select to_base64(unhex(md5('google.com')));
+-------------------------------------+
| to_base64(unhex(md5('google.com'))) |
+-------------------------------------+
| HVkg9LRLJ6gCvXfE8FNvWg==            |
+-------------------------------------+
1 row in set (0.00 sec)

我不確定您的值如何進行base64編碼的,但是它似乎與您顯示的MySQL查詢無關。 這可能是由於您如何在PHP中獲取值所致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM