You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/src/NzbDrone.Common/Crypto/HashProvider.cs

32 lines
719 B

using System.Security.Cryptography;
using NzbDrone.Common.Disk;
namespace NzbDrone.Common.Crypto
{
public interface IHashProvider
{
byte[] ComputeMd5(string path);
}
public class HashProvider : IHashProvider
{
private readonly IDiskProvider _diskProvider;
public HashProvider(IDiskProvider diskProvider)
{
_diskProvider = diskProvider;
}
public byte[] ComputeMd5(string path)
{
using (var md5 = MD5.Create())
{
using (var stream = _diskProvider.OpenReadStream(path))
{
return md5.ComputeHash(stream);
}
}
}
}
}