C# hashes

2019-04-25 09:36发布

I'm new to C#

  1. How do i hash files with C#
  2. What is available ? (md5, crc, sha1, etc)
  3. Is there an interface i should inherit?

Basically i want to checksum multiple files and store it in a db along with using two of my own checksums/hashes.

标签: c# hash
3条回答
老娘就宠你
2楼-- · 2019-04-25 09:52

1.) How do i hash files with C#?

You can utilize .NET classes under System.Security.Cryptography

2.) What is available?

3.) Is there an interface i should inherit?

No you don't have to. Take a look at HashAlgorithm.Create(...)

查看更多
淡お忘
3楼-- · 2019-04-25 09:55

What are you trying to achieve with the hashes? If you're trying to actually guarantee that nobody maliciously altered the files, please don't implement your own checksum or hash. You'll probably make some mistake and someone will be able to tamper with a file and have the checksums still match. Use a good hash function like SHA-256.

查看更多
孤傲高冷的网名
4楼-- · 2019-04-25 10:03

Snippet

byte[] result; 
SHA1 sha = new SHA1CryptoServiceProvider(); 
using(FileStream fs = File.OpenRead(@"file.txt"))
{
   result = sha.ComputeHash(fs);
}

See also SHA1CryptoServiceProvider or MD5CryptoServiceProvider.

CRC is not available -- it's more efficient to create your own.

查看更多
登录 后发表回答