HashAlgorithm.ComputerHash isn't thread safe,

pull/3113/head
Keivan Beigi 10 years ago
parent 852f97012f
commit cce280d260

@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
@ -8,12 +6,15 @@ namespace NzbDrone.Common.Crypto
{
public static class HashConverter
{
private static SHA1 HashAlgorithm = SHA1.Create();
private static readonly SHA1 Sha1 = SHA1.Create();
public static int GetHashInt31(string target)
{
var hash = HashAlgorithm.ComputeHash(Encoding.Default.GetBytes(target));
byte[] hash;
lock (Sha1)
{
hash = Sha1.ComputeHash(Encoding.Default.GetBytes(target));
}
return BitConverter.ToInt32(hash, 0) & 0x7fffffff;
}
}

Loading…
Cancel
Save