Ben bir yazılım doc (ya da ne günümüzde uygun dokümantasyon için geçer) teslim edildi. Çok zaman hüsran, o da hafifçe erkekler odasından tuvalet kağıdı parça kullanılmış olabilir. Söylemeye gerek yok, dedi dokümanın içeriği çok arzulanan yaptı.
Yani, büyük bir gizem ile sol duyuyorum. Bu doc API çeşit açıklar; ya da ben söyledim. Böyle bir doc yazılım gerçek bir parçası bana ötesinde tarif ve benim şimdiki soruşturma kapsamı dışındadır nasıl. Her neyse, benim soru üzerine ....
Bu doc gibi kod parçacığı C # ile yazılmış bir kere. Kesinlikle open-source/Linux adam olmak, benim yaşam için C # bilmiyorum.
Ben bir PHP kurulumu hakkında değilim. Diğer bir deyişle ben aşağıdaki C # kodu bir PHP sürümü gerekir:
string dateSince = "2010-02-01";
string siteID = "bash.org";
string sharedSecret = "12345"; // the same combination on my luggage!
using System.Security.Cryptography;
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] dataBytes = System.Text.Encoding.ASCII.GetBytes(string.Format("{0}{1}{2}", dateSince, siteID, sharedSecret));
string result = BitConverter.ToString(x.ComputeHash(dataBytes));
... Bu kod parçacığını eksik görünüyor. Ama burada ben oluyor düşünüyorum ne:
1) dateSince, siteid ve PaylaşılanGizlilik birleştirerek. Külot çalmak.
2)??
2a) bir ASCII kodlanmış bayt dizisi bu dizeyi dönüştürmek.
2b) o dizinin MD5 hash alarak.
3) KAR!
Bu gizemli BitConverter nesne onaltılık sayılar bir dizeye, MD5 dizi sağlaması olduğunu dönüştürme gibi görünüyor. "6D-E9-9A-B6-73-D8-10-79-BC-4F-EE-51-A4-84-15-D8:" Anılan dokümana göre, sonucun değeri gibi görünmelidir
Herhangi bir yardım büyük beğeni topluyor!
Bu daha önce eklemeyi unuttum. İşte ben bugüne kadar yazdık ne PHP versiyonu:
$date_since = "2010-02-01";
$site_id = "bash.org";
$shared_secret = "12345";
$initial_token = $date_since.$site_id.$shared_secret;
$ascii_version = array();
foreach($i=0; $i < strlen($initial_token); $i++) {
$ascii_version[] = ord(substr($initial_token,$i,1));
}
$md5_version = md5(join("", $ascii_version));
$hexadecimal_bits = array();
foreach($i=0; $i < strlen($md5_version); $i++) {
// @todo convert to hexadecimal here?
$hexadecimal_bits[] = bin2hex(substr($md5_version,$i,1));
}
$result = join("-", $hexadecimal_bits);