ile HMAC-SHA1 üzerinden dijital olarak oturum açmaya çalışıyorum Bazı Google Haritalar Premier API eylemini kurmaya çalışıyorum ve bunu yapmak için URL'leri kimlik doğrulaması yapmak üzere imzalamam gerekiyor. İmza örneklerine giderseniz, HMAC-SHA1 aracılığıyla imzayı nasıl yapacağınızı göstermek için bazı Python, C# ve Java kodu vardır. PHP uygulamamı test edebilmem için de bir örnek var. Ancak, sadece işe almak için görünmüyor olabilir. Tamamen uymuyorPHP
ZDRlNGMwZjIyMTA1MWM1Zjk0Nzc4M2NkYjlmNDQzNDBkYzk4NDI4Zg==
: Bunu çalıştırdığınızda, ben bir imza almak
$key = "vNIXE0xscrmjlyV-12Nj_BvUPaw=";
$data = "/maps/api/geocode/json?address=New+York&sensor=false&client=clientID";
$my_sign = hash_hmac("sha1", $data, base64_decode($key));
$my_sign = base64_encode($my_sign);
$valid_sign = "KrU1TzVQM7Ur0i8i7K3huiw3MsA=";
:
İşte benim kod.
şeyler ben düşündüm:
- anahtar öylesine da
- Python örnek kod aslında nasıl çalışır çalışmaz
+
ve/
için-
ve_
değişen, Modifiye URL kodlu formatta olduğunu, Yani bu geçerli bir örnektir. - PHP yerine python'daki kod tabanımızı tamamen yeniden yazdım (devraldım).
mevcuttur. Yemin ederim ki bu iki karakteri elle değiştirmeye çalıştım ve hala doğru sonucu göremedim. Belki de bu doğru değildi. Her durumda yardımlarınız için teşekkürler! :) – Conradaroma
@ZZCoder Örneğiniz bugün hala kullanışlıdır - yazdığınız için teşekkürler; Amazon S3 kova isteklerinin imzalanması çok benzer. $ imza = rawurlencode (base64_encode (hash_hmac ("sha1", $ stringToSign, $ secret_access_key, true))); ' –
S3 yüklemeleri için Geek Hisse önerisi, rawurlenkod işlevi kullanılmadığında çalışır. Bu yükleme çözümü, kütüphanelerini hiç kullanmadan kullanılabilecek iyi bir S3/PHP bilgisine sahiptir: http://www.plupload.com/docs/v2/Upload-to-Amazon-S3 – Exit