相关疑难解决方法(0)

如何使用.NET快速比较2个文件?

典型的方法建议通过FileStream读取二进制文件并逐字节地比较它.

  • CRC校验和比较会更快吗?
  • 是否有任何.NET库可以为文件生成校验和?

c# checksum compare file

126
推荐指数
9
解决办法
17万
查看次数

检查Windows OS上C#上次修改文件的时间

我正在寻找一种方法来查看文件最后一次在C#中修改.我完全可以访问该文件.

c# windows file last-modified

61
推荐指数
4
解决办法
8万
查看次数

在C#中计算来自未知长度的流的哈希

在C#中计算"动态"md5的最佳解决方案是什么,就像未知长度的流的哈希一样?具体来说,我想根据通过网络收到的数据计算哈希值.我知道当发件人终止连接时我已收到数据,所以我不知道提前的长度.

[编辑] - 现在我正在使用md5,但这需要在保存并写入磁盘后再次传递数据.当它从网络进入时,我宁愿哈希它.

c# hash cryptography stream

22
推荐指数
4
解决办法
1万
查看次数

在Azure上上传的Blob的MD5哈希与本地计算机上的相同文件不匹配

我目前正在上载Azure Blob存储上的媒体。一切正常,除非当我尝试将上传媒体的MD5哈希与本地文件(与上传的文件完全相同)时。本地文件返回一个字节数组,其中blob.Properties.ContentMD5返回一个字符串,并且两者都不匹配。

本地MD5哈希: sÔ(F¦“” Db〜[N

blob.Properties.ContentMD5: c9QoHkamgiKTRANifltOGQ ==

有什么办法可以匹配这两个?

c# hash md5 azure azure-storage

6
推荐指数
1
解决办法
9244
查看次数

比较两个巨大的CSV文件进行更改的最快方法是什么?

我认为这是一个架构和/或设计相关的问题:

我的场景是:

"

  • 我将大量数据从Db导出到CSV.
  • 我经常这样做.
  • 我想检查上次导出的CSV数据是否与先前导出数据的内容不同"

我怎样才能实现这一目标(无需逐行循环和比较)?

备注:

  • 我的导出器是.Net控制台应用程序.

  • 我的Db是MS-SQL(如果你需要知道)

  • 我的导出程序定期作为Scheduled TASK运行 - 在PowerShell脚本中

.net c# architecture powershell

4
推荐指数
1
解决办法
1661
查看次数

C#String.getHashCode()为不同的字符串返回相同的值

我的应用程序作为Windows服务运行,我将VS2013附加到它的调试过程.我正在获取图像文件内容的哈希码,以检查以下方法的差异(在静态类中):

static class FileUtils
{
    public static int GetFileHash(string filePath)
    {
        int hash = 0;
        Logger.WriteLog(ToolTipIcon.Info, "Calculating hash code for {0}", filePath);
        StreamReader sr = new StreamReader(filePath, Encoding.Unicode);
        hash = sr.ReadToEnd().GetHashCode();
        sr.Close();
        return hash;
    }
}
Run Code Online (Sandbox Code Playgroud)

这在生产中一直很好.但是,对于两个不同的图像,此方法将始终返回2074746262.我试图在winforms应用程序中使用相同的代码和图像重现这一点,我不能.是否存在调试VS2013中的进程会导致此行为的问题?我用一个完全不同的图像替换了其中一个图像,但它仍然会发生.

c# visual-studio-debugging visual-studio-2013

3
推荐指数
1
解决办法
1320
查看次数

字符串比较长度不匹配

我正在比较两个字符串,一个我从一个32字符的服务器收到的字符串和另一个我使用以下代码计算的字符串:

string getMd5(string fileName)
{
    using (var md5 = MD5.Create())
    {
        using (var stream = File.OpenRead(fileName))
        {
            return BitConverter.ToString(md5.ComputeHash(stream)).Replace("-", "??").ToLower();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,即使两个字符串看起来相同,比较也会失败,因为上面函数返回的字符串包含的字符多于我收到的字符.请看附图:

在此输入图像描述

那么,我该如何解决这个问题呢?

谢谢.

c# string md5

1
推荐指数
1
解决办法
136
查看次数

如何在C#中确保文件的完整性

我正在部署一个文件和一个C#应用程序.我想确保文件与提供的文件相同,否则C#应用程序将显示错误.现在,文件的创建和修改日期可以在修改后更改.C#中是否有任何校验和/哈希等,以确保用户不会更改文件.

.net c#

-4
推荐指数
1
解决办法
1547
查看次数