Tôi cần một phiên bản PHP của mã # C sau:Tôi sẽ dịch mã C# này thành PHP như thế nào?
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));
... Đoạn mã này dường như là không đầy đủ. Nhưng đây là những gì tôi nghĩ đang diễn ra:
ngày ghép nốiSince, siteID và sharedSecret. Ăn cắp quần lót.
???
chuyển chuỗi đó thành mảng byte được mã hóa ascii.
lấy hàm băm MD5 của mảng đó.
Đối tượng BitConverter bí ẩn này dường như chuyển đổi mảng MD5 băm đó thành chuỗi số thập lục phân. Theo tài liệu nói trên, giá trị của kết quả sẽ trông giống như sau: "6D-E9-9A-B6-73-D8-10-79-BC-4F-EE-51-A4-84-15-D8"
Bất kỳ trợ giúp nào được đánh giá cao !!
Quên để bao gồm điều này trước đó. Đây là phiên bản PHP của những gì tôi đã viết cho đến thời điểm này:
$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);
Vui lòng đăng mã bạn đã viết cho đến thời điểm này. Mọi người thường không thích viết mã cho bạn. –
Ah, xin lỗi về điều đó; Tôi là người mới ở đây. Một khoảnh khắc .... – sayajay
+1 cho cùng một sự kết hợp với hành lý của bạn. – benjy