Radarr/src/NzbDrone.Core/Hashing.cs

39 lines
931 B
C#
Raw Normal View History

using System.IO;
using System.Security.Cryptography;
2014-04-30 23:39:54 +00:00
using System.Text;
namespace NzbDrone.Core
{
public static class Hashing
2014-04-30 23:39:54 +00:00
{
public static string SHA256Hash(this string input)
{
using (var hash = SHA256Managed.Create())
{
var enc = Encoding.UTF8;
return GetHash(hash.ComputeHash(enc.GetBytes(input)));
}
}
public static string SHA256Hash(this Stream input)
{
using (var hash = SHA256Managed.Create())
{
return GetHash(hash.ComputeHash(input));
}
}
2014-04-30 23:39:54 +00:00
private static string GetHash(byte[] bytes)
{
var stringBuilder = new StringBuilder();
foreach (var b in bytes)
{
stringBuilder.Append(b.ToString("x2"));
2014-04-30 23:39:54 +00:00
}
return stringBuilder.ToString();
}
}
}