如何使php的MD5与C#的MD5一致?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使php的MD5与C#的MD5一致?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1189字,纯文字阅读大概需要2分钟。
内容图文
有c#生成MD5的代码如下: class CreateMD5
{
static void Main(string[] args)
{
string source = "提问指南";
using (MD5 md5Hash = MD5.Create())
{
string hash = GetMd5Hash(md5Hash, source);
Console.WriteLine( hash);
}
}
static string GetMd5Hash(MD5 md5Hash, string input)
{
//这里是 Unicode
byte[] data = md5Hash.ComputeHash(Encoding.Unicode.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
}
上述代码生成的MD5是 f5da53705563c657581a6d0853286fdc
现在问题是,c#生成的MD5 与 PHP 生成的MD5 不一致
由于业务限制,不能更改c#代码,只能从PHP下手。
回复内容:
有c#生成MD5的代码如下:
class CreateMD5
{
static void Main(string[] args)
{
string source = "提问指南";
using (MD5 md5Hash = MD5.Create())
{
string hash = GetMd5Hash(md5Hash, source);
Console.WriteLine( hash);
}
}
static string GetMd5Hash(MD5 md5Hash, string input)
{
//这里是 Unicode
byte[] data = md5Hash.ComputeHash(Encoding.Unicode.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
return sBuilder.ToString();
}
}
上述代码生成的MD5是 f5da53705563c657581a6d0853286fdc
现在问题是,c#生成的MD5 与 PHP 生成的MD5 不一致
由于业务限制,不能更改c#代码,只能从PHP下手。
md5前操作一步
$tmp = mb_convert_encoding('提问指南', 'utf-16le', 'utf8');
内容总结
以上是互联网集市为您收集整理的如何使php的MD5与C#的MD5一致?全部内容,希望文章能够帮你解决如何使php的MD5与C#的MD5一致?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。