相关疑难解决方法(0)

计算文件的MD5校验和

我正在使用iTextSharp从PDF文件中读取文本.但是,有时我无法提取文本,因为PDF文件只包含图像.我每天都下载相同的PDF文件,我想查看PDF是否已被修改.如果无法获得文本和修改日期,MD5校验和是否是判断文件是否已更改的最可靠方法?

如果是的话,一些代码样本会受到赞赏,因为我对密码学没有多少经验.

.net c# hash md5

319
推荐指数
5
解决办法
28万
查看次数

Stream.CopyTo不复制任何流数据

我遇到了将数据从a复制MemoryStreamStream内部的问题ZipArchive.以下不起作用 - 它只返回114个字节:

GetDataAsByteArray(IDataSource dataSource)
{
    using (var zipStream = new MemoryStream())
    {
        using (var archive = new ZipArchive(zipStream, ZipArchiveMode.Create, true))
        {
            var file = archive.CreateEntry("compressed.file");
            using (var targetStream = file.Open())
            {
                using (var sourceStream = new MemoryStream())
                {
                    await dataSource.LoadIntoStream(sourceStream);
                    sourceStream.CopyTo(targetStream);
                }
            }
        }
        var result = zipStream.ToArray();
        zipStream.Close();
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,使用下面的实现"copy"-process,所有1103个字节都写入数组/内存流:

await targetStream.WriteAsync(sourceStream.ToArray(), 0, (int) sourceStream.Length);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么CopyTo产量减去字节数.另外,我Int32对第二个实现中的强制转换感到不安全.

仅供参考:比较字节数组:看起来只有zip文件的页眉和页脚是由第一个实现编写的.

c# zip memorystream stream

9
推荐指数
2
解决办法
8524
查看次数

在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
查看次数

VB.Net中的文件比较

我需要知道两个文件是否相同.起初我比较了文件大小和创建时间戳,但这不够可靠.我已经提出了以下代码,这似乎有效,但我希望有人能够更好,更容易或更快地完成这项工作.

基本上我正在做的是将文件内容流式传输到字节数组,并通过System.Security.Cryptography比较它们的MD5哈希值.

在此之前,我做了一些简单的检查,因为没有理由读取文件,如果两个文件路径相同,或者其中一个文件不存在.

Public Function CompareFiles(ByVal file1FullPath As String, ByVal file2FullPath As String) As Boolean

    If Not File.Exists(file1FullPath) Or Not File.Exists(file2FullPath) Then
        'One or both of the files does not exist.
        Return False
    End If

    If String.Compare(file1FullPath, file2FullPath, True) = 0 Then
        ' fileFullPath1 and fileFullPath2 points to the same file...
        Return True
    End If

    Dim MD5Crypto As New MD5CryptoServiceProvider()
    Dim textEncoding As New System.Text.ASCIIEncoding()

    Dim fileBytes1() As Byte, fileBytes2() As Byte
    Dim fileContents1, fileContents2 As String
    Dim streamReader As …
Run Code Online (Sandbox Code Playgroud)

vb.net comparison filestream

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

标签 统计

c# ×3

hash ×2

md5 ×2

.net ×1

azure ×1

azure-storage ×1

comparison ×1

filestream ×1

memorystream ×1

stream ×1

vb.net ×1

zip ×1