1
如何使用PHP的hash()函數執行以下操作?我已經嘗試和失敗(見低得多的PHP代碼)PHP hash('sha256','x')與bash命令不匹配存在問題
echo -n '807542FB6685F9FD8F37D56FAF62F0BB4563684A51539E4B26F0840DB361E0027C' | xxd -r -p | sha256sum -b
以上的bash行給出了以下的輸出:
7DE4708EB23AB611371BB778FC0C8BDE80394AB2D8704D7129FB5771E2F1730D
這PHP代碼並不完全做到這一點:
<?php
echo hash('sha256', '807542FB6685F9FD8F37D56FAF62F0BB4563684A51539E4B26F0840DB361E0027C');
輸出:
e50f2ac6f7b6a2cbf640f44806affe06a330eb655f9e97bf70d5e09274340e4b
Yo我使用'xxd'將命令行中的十六進制字符串解碼爲二進制。但是你不會將相同的二進制字符串傳遞給PHP的hash()函數。它不會自動解碼十六進制文本。 – mario 2013-04-03 21:23:21
對,我如何在PHP中做同樣的事情? – MichaelICE 2013-04-03 21:24:45
'hex2bin',如果你有PHP 5.4 – Tushar 2013-04-03 21:25:22