如何在c#中生成与php一样的md5 hash code,如何在C#和Java中生成相同的MD5 Hashcode?

我有一个在C#中生成MD5哈希的函数,如下所示:

MD5 md5 = new MD5CryptoServiceProvider();

byte[] result = md5.ComputeHash(data);

StringBuilder sb = new StringBuilder();

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

{

sb.Append(result[i].ToString("X2"));

}

return sb.ToString();

在java中,我的函数如下所示:

MessageDigest m = MessageDigest.getInstance("MD5");

m.update(bytes,0,bytes.length);

String hashcode = new BigInteger(1,m.digest()).toString(16);

return hashcode;

当C#代码生成:“02945C9171FBFEF0296D22B0607D522D”时,java代码生成:“5a700e63fa29a8eae77ebe0443d59239”.

有没有办法为同一个bytearray生成相同的md5哈希?

一经请求:

这是java中的testcode:

File file = new File(System.getProperty("user.dir") + "/HashCodeTest.flv");

byte[] bytes = null;

try {

bytes = FileUtils.getBytesFromFile(file);

} catch (IOException e) {

fail();

}

try {

generatedHashCode = HashCode.generate(bytes);

} catch (NoSuchAlgorithmException e) {

fail();

}

这是我在C#中的代码

var blob = GetBlobByHttpPostedFile(httpPostedFile);

var hashCode = Md5Factory.ConvertByteArray(blob);

private static byte[] GetBlobByHttpPostedFile(HttpPostedFile httpPostedFile)

{

var contentLength = httpPostedFile.ContentLength;

var result = new byte[contentLength];

var inputStream = httpPostedFile.InputStream;

inputStream.Read(result, 0, contentLength);

return result;

}

干杯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值