2012-07-06 57 views
7

此php代碼的perl等效物是什麼?
hmac sha-256 in perl

$hash = hash_hmac('sha256', $all , $secret);

我嘗試使用下面的代碼,但徒勞無功。值是不同的。

  use Digest::SHA; 
      $sha = Digest::SHA->new('sha256'); 
      $sha->add($secret); 
      $sha->add($all); 
      $digest = $sha->hexdigest; 

問候, 帕

+1

HMAC與普通散列不同。嘗試[Digest :: HMAC](http://search.cpan.org/dist/Digest-HMAC/lib/Digest/HMAC.pm)。 – musiKk 2012-07-06 14:27:15

+1

ya。我找到了答案。使用Digest :: SHA qw(hmac_sha256_hex); \t \t \t $ digest = hmac_sha256_hex($ all,$ secret);謝謝 – Pavan 2012-07-06 14:33:01

+1

你能回答你的問題嗎? – 2012-10-16 09:48:06

回答

11

因爲我的問題得到的比我預期更多的意見,我決定回答它來幫助其他有同樣的問題。我在PHP中找到了它的等價物。

use Digest::SHA qw(hmac_sha256_hex); 
$digest=hmac_sha256_hex($all, $secret); 

希望它有幫助。

+4

+ 2年後回答你自己的問題! – mvp 2014-07-17 10:09:31