1 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
被調(diào)用的 PHPmd5
函數(shù)將以原始二進(jìn)制格式(16 字節(jié))返回 md5 哈希值。
這是 .NET 中的等效項(xiàng)。
...
var passphrase = Encoding.UTF8.GetBytes("asdfghjkl");
var salt = Encoding.UTF8.GetBytes("123456789");
var salted = new List<byte>();
var dx = new byte[0];
using (var md5 = MD5.Create())
{
? ? do
? ? {
? ? ? ? var bytesToHash = dx.Concat(passphrase).Concat(salt);
? ? ? ? dx = md5.ComputeHash(bytesToHash.ToArray());
? ? ? ? salted.AddRange(dx);
? ? } while (salted.Count < 48);
}
var key = salted.Take(32).ToArray();
var iv = salted.Skip(32).Take(16).ToArray();
...
如果要檢查輸出,請(qǐng)使用 PHP?base64_encode函數(shù)和 .NET?Convert.ToBase64String,然后比較 base64 字符串。
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報(bào)