sha-512'yi kullanarak hmac'ı hesaplamaya çalışıyorum.Python'da hmac için neden yanlış sonuçlar aldım ama Perl değil?
perl'de kodu:
9656975ee5de55e75f2976ecce9a04501060b9dc22a6eda2eaef638966280182
477fe09f080b2bf564649cad42af8607a2bd8d02979df3a980f15e2326a0a22a
yanlış karma verir
import hashlib, hmac
print hmac.new("\x0b"*20, "Hi There", hashlib.sha512).hexdigest()
:
use Digest::SHA qw(hmac_sha512_hex);
$key = "\x0b"x20;
$data = "Hi There";
$hash = hmac_sha512_hex($data, $key);
print "$hash\n";
ve
87aa7cdea5ef619d4ff0b4241a1d6cb02379f4e2ce4ec2787ad0b30545e17cde
daa833b7d6b8a702038b274eaea3f4e4be9d914eeb61f1702e696c203a126854
Python versiyonunun doğru karmaşaya verir
Python sürümünün neden yanlış karımı verdiğine dair herhangi bir fikir var mı?
Düzenleme:
sürümü
Python 2.5.1 olduğunu (R251: 54863 2009 13 Ocak, 10:26:13)
[GCC 4.0.1 (Apple Inc. 5465 build)] darwin
ait MacPorts versiyonu Lütfen Sürüm bilgisi –
sağlamak ... Bu gerçekten garip bir sürüm dizesi. 2.5.1'in benim (eski) 2.5.2'den daha yeni * yıl * mı? Bu gerçekten sıra dışı. Belki de 2.5.4'e (herhangi bir paketin kırılmaması gereken) güncellemeyi deneyin. – kquinn