2016-12-21 5 views
0

hier nicht passend ist der Code von .netPHP Verschlüsselung wird mit der asp.net Verschlüsselung

public string GetMD5Hash(string name) { 
    MD5 md5 = new MD5CryptoServiceProvider(); 
    byte[] ba = md5.ComputeHash(Encoding.UTF8.GetBytes(name)); 
    StringBuilder hex = new StringBuilder(ba.Length * 2); 

    foreach (byte b in ba) 
     hex.AppendFormat("{0:x2}", b); 
    return Convert.ToString(hex); 
} 

und in den PHP Ich verwende den folgenden Code

class foobar { 

    public function str2hex($string) { 
     $hex = ""; 
     for ($i = 0; $i < strlen($string); $i++) 
      $hex .= (strlen(dechex(ord($string[$i]))) < 2) ? "0" . dechex(ord($string[$i])) : dechex(ord($string[$i]));  
     return $hex; 
    } 

    public function GetMD5($pStr) { 
     $data = mb_convert_encoding($pStr, 'UTF-16LE', 'UTF-8'); 
     $h = $this->str2hex(md5($data, true)); 
     return $h; 
    } 
} 

$foobar = new foobar; 
$nisha =$foobar->GetMD5('5698882'); 
echo "</br>"; 
echo $nisha; 

aber die Ausgabe passt nicht mit der .net-Verschlüsselung Ausgabe beide sind verschiedene

Antwort

0

Generieren aß md5 Hash einer Zeichenfolge in PHP, müssen Sie einfach die md5() Funktion mehr Details verwenden bei http://php.net/manual/en/function.md5.php

Sie diese Codes verwenden können, MD5-Hash zu erhalten, die sowohl für die gleiche sein wird, .net und php

PHP mD5-Hash

<?php 
echo md5('abcdefghijklmnopqrstuvwxyz'); 
?> 

Ergebnis -> c3fcd3d76192e4007dfb496cca67e13b

.NET MD5-Hash

public string CalculateMD5Hash(string input) 

{ 

    // step 1, calculate MD5 hash from input 

    MD5 md5 = System.Security.Cryptography.MD5.Create(); 

    byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); 

    byte[] hash = md5.ComputeHash(inputBytes); 


    // step 2, convert byte array to hex string 

    StringBuilder sb = new StringBuilder(); 

    for (int i = 0; i < hash.Length; i++) 

    { 

     sb.Append(hash[i].ToString(“x2”)); 

    } 

    return sb.ToString(); 

} 

Ergebnis -> c3fcd3d76192e4007dfb496cca67e13b

+0

Dank für Ihre Antwort rick aber .net Entwickler können ihren Code ändern. Ist das möglich, können wir den obigen .net Code in PHP replizieren? –

+0

Können Sie mir den MD5-Hash mit Ihrem. NET-Code für die Zeichenfolge abcdefghijklmnopqrstuvwxyz geben –