Tag: md5

通过计算MD5获取重复的文件列表

我有一个包含文件路径的数组,我想列出那些基于MD5重复的文件。 我像这样计算他们的MD5: private void calcMD5(Array files) //Array contains a path of all files { int i=0; string[] md5_val = new string[files.Length]; foreach (string file_name in files) { using (var md5 = MD5.Create()) { using (var stream = File.OpenRead(file_name)) { md5_val[i] = BitConverter.ToString(md5.ComputeHash(stream)).Replace(“-“, “”).ToLower(); i += 1; } } } } 从上面我能够计算他们的MD5,但是如何只获得那些重复的文件的列表。 如果还有其他方法可以让我知道,我也是Linq的新手

md5哈希是否一致或服务器依赖的结果?

我正在做一个md5哈希,只是想确保结果: md5.ComputeHash(bytePassword); 无论服务器是否一致? 例如Windows 2003/2008和32/64位等。

.Net C#到PHP Pb with byte array&ComputeHash

我在.Net C#中有这个function,并希望在PHP中也这样做。 但我不明白所有的C#部分,也不确定我的代码。 public static string getMD5Hash(string input) { MD5 mD = new MD5CryptoServiceProvider(); byte[] array = Encoding.UTF8.GetBytes(input); array = mD.ComputeHash(array); StringBuilder stringBuilder = new StringBuilder(); int i = 0; byte[] array2 = array; int length = array2.Length; while (i < length) { stringBuilder.Append(array2[i].ToString("x2").ToLower()); i++; } return stringBuilder.ToString(); } 我找到了一个例子来描述如何从一个字符串(谁是相同的)创建MD5哈希: http : //en.csharp-online.net/Create_a_MD5_Hash_from_a_string 并找到了关于字符串到字节的SoFpost: 字符串到php中的字节数组 […]

在流上腌制C#MD5 ComputeHash

我看不出任何方法来加密MD5.ComputeHash(Stream)。 我错过了一些将字节注入HashAlgorithm的方法吗? 我在执行流计算之前尝试执行ComputeHash(byte []),但不出所料,它没有任何效果。 任何想法(除了修改文件)? 谢谢你的时间。 附录只是为了更具体一点,我想使用一个流来获取我不想加载到内存中的大文件的哈希值。 FileInfo myFI= new FileInfo(“bigfile.dat”); FileStream myIFS = piFile.OpenRead(); MD5 md5 = MD5.Create(); byte[] hash = md5.ComputeHash ( myIFS ); myIFS.Close ();

C#为打开的文件计算MD5?

我如何为进程打开或使用的文件计算MD5哈希值? 文件可以是txt或exe 我的当前代码返回错误的exe,因为它正在运行 这是我目前的代码 public static string GetMd5HashFromFile(string fileName) { FileStream file = new FileStream(fileName, FileMode.Open); MD5 md5 = new MD5CryptoServiceProvider(); byte[] retVal = md5.ComputeHash(file); file.Close(); StringBuilder sb = new StringBuilder(); for (int i = 0; i < retVal.Length; i++) { sb.Append(retVal[i].ToString("x2")); } return sb.ToString(); } 干杯。

在C#中计算大文件的MD5SUM

我使用以下代码来计算文件的MD5SUM – byte[] b = System.IO.File.ReadAllBytes(file); string sum = BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(b)); 这通常工作正常,但如果我遇到一个大文件(~1GB) – 例如ISO映像或DVD VOB文件 – 我得到一个Out of Memoryexception。 虽然,我能够在cygwin中为大约10秒的同一文件计算MD5SUM。 请建议如何让我的程序中的大文件工作。 谢谢

在C#中使用MD5CryptoServiceProvider存储密码是否安全?

我们将散列密码存储在数据库表中。 我们使用MD5CryptoServiceProvider为每个密码添加随机salt值和哈希值。 这样安全吗? 我听说MD5“坏了”。 如果没有,您能推荐使用备用哈希方法(特定的.NET框架类)吗?

更快的MD5替代方案?

我正在研究一个程序,搜索整个驱动​​器的给定文件。 目前,我计算已知文件的MD5哈希值,然后递归扫描所有文件,寻找匹配项。 唯一的问题是MD5在大文件上的速度非常慢。 是否有更快的替代品,我可以使用,同时保留非常小的误报可能性? 所有代码都在C#中。 谢谢。 更新 我已经读过,即使MD5也可以非常快,磁盘I / O应该是限制因素。 这让我相信我的代码可能不是最佳的。 这种方法有问题吗? MD5 md5 = MD5.Create(); StringBuilder sb = new StringBuilder(); try { using (FileStream fs = File.Open(fileName, FileMode.Open, FileAccess.Read)) { foreach (byte b in md5.ComputeHash(fs)) sb.Append(b.ToString(“X2”)); } return sb.ToString(); } catch (Exception) { return “”; }

这是用MD5加密密码的好方法吗?

我之前从未加密过密码,这是我在这篇文章的帮助下想到的。 这篇文章没有包括盐,所以我不得不自己解决: UTF8Encoding encoder = new UTF8Encoding(); byte[] salt = new byte[8]; new Random().NextBytes(salt); byte[] encodedPassword = encoder.GetBytes(txtPassword.Text); byte[] saltedPassword = new byte[8 + encodedPassword.Length]; System.Buffer.BlockCopy(salt, 0, saltedPassword, 0, 8); System.Buffer.BlockCopy(encodedPassword, 0, saltedPassword, 8, encodedPassword.Length); byte[] encryptedPassword = new MD5CryptoServiceProvider().ComputeHash(saltedPassword); byte[] saltedEncryptedPassword = new byte[8 + encryptedPassword.Length]; System.Buffer.BlockCopy(salt, 0, saltedEncryptedPassword, 0, 8); System.Buffer.BlockCopy(encryptedPassword, 0, saltedEncryptedPassword, […]

如何将字节数组(MD5哈希)转换为字符串(36个字符)?

我有一个使用哈希函数创建的字节数组。 我想将此数组转换为字符串。 到目前为止这么好,它会给我hex字符串。 现在我想使用不同于hex字符的东西,我想用这36个字符编码字节数组 :[az] [0-9] 。 我该怎么办? 编辑:我之所以这样做,是因为我想要一个比hex字符串更小的字符串。