public void HashStrings() { KnotHash kh = new KnotHash(); Assert.Equal("a2582a3a0e66e6e86e3812dcb672a272", kh.GenerateHash("", 64)); Assert.Equal("33efeb34ea91902bb2f59c9920caa6cd", kh.GenerateHash("AoC 2017", 64)); Assert.Equal("3efbe78a8d82f29979031a4aa0b16a9d", kh.GenerateHash("1,2,3", 64)); Assert.Equal("63960835bcdc130f0b66d7ff4f6a5a8e", kh.GenerateHash("1,2,4", 64)); }
public int[][] Generate(string input) { List <int[]> hashes = new List <int[]>(); for (int i = 0; i < GRID_SIZE; i++) { var hashed = _hasher.GenerateHash(input + "-" + i, KNOT_HASH_ROUNDS); var row = hashed.Select(x => this._toBin(x.ToString())); hashes.Add(row.SelectMany(x => x).Select(x => int.Parse(x.ToString())).ToArray()); } return(hashes.ToArray()); }