怎样c# java md5值保持一致

c#方式

/// <summary>
/// 获得字符串md5.
/// </summary>
/// <param name="myString"></param>
/// <returns></returns>
public static string GetMD5(string myString)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] fromData = System.Text.Encoding.UTF8.GetBytes(myString);
byte[] targetData = md5.ComputeHash(fromData);
string byte2String = null;

for (int i = 0; i < targetData.Length; i++)
{
byte2String += targetData[i].ToString("x");
}

return byte2String;
}

java方式

public static String md5(String url) throws NoSuchAlgorithmException, UnsupportedEncodingException {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(url.getBytes("utf-8"));
byte[] result = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < result.length; i++) {
int val = result[i] & 0xff;
sb.append(Integer.toHexString(val));
}
return sb.toString();
}

上边两种方式c# javamd5值一样。

记录一下

时间: 2024-10-16 22:43:12

怎样c# java md5值保持一致的相关文章

jni中调用java方法获取当前apk的签名文件md5值

相应的java方法: void getsign(Context context) throws Exception { PackageInfo localPackageInfo = context.getPackageManager() .getPackageInfo(context.getPackageName(), 64); StringBuilder localStringBuilder = new StringBuilder(); Signature[] arrayOfSignature

计算文件的MD5值(Java &amp; Rust)

Java public class TestFileMD5 { public final static String[] hexDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b",

java生成字符串的MD5值

下面的代码实现了MD5值的生成: public class MD5Test2 { public static void main(String[] args) { System.out.println(MD5Test2.MD5Operation("hello")); System.out.println(MD5Test2.getMD5("hello")); } //通过java.math包的BigInteger类实现十六进制的转换 public final stat

java获取文件的md5值

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Test {

JAVA 文件读取写入后 md5值不变的方法

假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: 1 StringBuffer sb = new StringBuffer(); 2 Reader rd = null; 3 BufferedReader br = null; 4 5 rd = new FileReader("E:/绮萝酶是女装的男孩子.html"); 6 br = new Buff

JAVA中获取文件MD5值的方法

1 DigestUtils.md5Hex(new FileInputStream(path)); 如果你只需要使用标准的MD5,其实一行代码就够了,JAVA自带的commons-codec包就提供了获取16进制MD5值的方法.其底层实现上,也是分多次将一个文件读入,类似方法三.所以性能上也不错. 总结:其实方法都是类似的,推荐使用这个方法,简洁且性能不错,当然,如果要做一些调整什么的,可以根据自己的需求进行方法的选择. PS:其实还有一个重点,就是如何知道自己生成的MD5值是否正确呢? 方法很多

MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.security.MessageDigest; impor

Java MD5算法

JAVA MD5算法  MD5即Message-Digest Algorithm 5(信息-摘要算法5),是一种用于产生数字签名的单项散列算法. MD5算法的作用是让大容量信息在用数字签名软件签私人密匙前被"压缩"成一种保密的格式,将一个任意长度的"字节串"通过一个不可逆的字符串变换算法变换成一个128bit的大整数. 即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数.

Java MD5加密类

1 /************************************************* 2 md5 类实现了RSA Data Security, Inc.在提交给IETF 3 的RFC1321中的MD5 message-digest 算法. 4 *************************************************/ 5 public class MD5 { 6 /* 下面这些S11-S44实际上是一个4*4的矩阵,在原始的C实现中是用#define