Ho bisogno di una versione di PHP del seguente codice C#:Come tradurrei questo codice C# in PHP?
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));
... questo frammento di codice sembra essere incompleta. Ma ecco quello che penso sta succedendo:
concatenando dateSince, ID sito, e SharedSecret. Rubare mutande
???
conversione di tale stringa in una matrice di byte codificati ascii.
prendendo l'hash MD5 di tale matrice.
Questo misterioso oggetto BitConverter sembra convertire quell'array hash MD5 in una stringa di numeri esadecimali. Secondo il documento di cui sopra, il valore del risultato dovrebbe essere simile a: "6D-E9-9A-B6-73-D8-10-79-BC-4F-EE-51-A4-84-15-D8"
Qualsiasi aiuto è molto apprezzato !!
Ha dimenticato di includere questo in precedenza. Ecco la versione di PHP di quello che ho scritto finora:
$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);
Si prega di inviare il codice che hai scritto finora. Le persone in genere non amano scrivere semplicemente il tuo codice per te. –
Ah, mi dispiace per quello; Sono nuovo qui. Un momento .... – sayajay
+1 per la stessa combinazione dei bagagli. – benjy