-
Notifications
You must be signed in to change notification settings - Fork 497
/
Shavite3.cs
46 lines (40 loc) · 1.5 KB
/
Shavite3.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#region License
//
// CoiniumServ - Crypto Currency Mining Pool Server Software
// Copyright (C) 2013 - 2014, CoiniumServ Project - http://www.coinium.org
// http://www.coiniumserv.com - https://github.com/CoiniumServ/CoiniumServ
//
// This software is dual-licensed: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// For the terms of this license, see licenses/gpl_v3.txt.
//
// Alternatively, you can license this software under a commercial
// license or white-label it as set out in licenses/commercial.txt.
//
#endregion
using HashLib;
namespace CoiniumServ.Algorithms.Implementations
{
public sealed class Shavite3 : HashAlgorithmBase
{
public override uint Multiplier { get; protected set; }
private readonly IHash _hasher;
public Shavite3()
{
_hasher = HashFactory.Crypto.SHA3.CreateSHAvite3_512();
Multiplier = 1;
}
public override byte[] Hash(byte[] input)
{
return _hasher.ComputeBytes(input).GetBytes();
}
}
}