public void GenerateListOfKeys() { foreach (var hash in TestHashes) { IChecksum16 checksum = new Adler16(); var baseKeys = new[] { (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next() }; var gen = new PartialKeyGenerator(checksum, hash, baseKeys) { Spacing = 6 }; var keys = gen.Generate(100, Random); foreach (var key in keys) { for (var j = 0; j < baseKeys.Length; j++) { Assert.IsTrue(PartialKeyValidator.ValidateKey(checksum, hash, key.Value, j, baseKeys[j])); } } } }
public void SingleHashWithStringSeed() { foreach (var hash in TestHashes) { IChecksum16 checksum = new Adler16(); for (uint i = 0; i < 100; i++) { var baseKeys = new[] { (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next() }; var gen = new PartialKeyGenerator(checksum, hash, baseKeys) { Spacing = 6 }; const string seed = "Bob Smith - [email protected]"; var key = gen.Generate(seed); for (var j = 0; j < baseKeys.Length; j++) { Assert.IsTrue(PartialKeyValidator.ValidateKey(checksum, hash, key, j, baseKeys[j], seed)); } } } }
public void SingleHash(IHash hash) { IChecksum16 checksum = new Adler16(); for (uint i = 0; i < 100; i++) { var baseKeys = new[] { (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next() }; var gen = new PartialKeyGenerator(checksum, hash, baseKeys) { Spacing = 6 }; var seed = (uint)Random.Next(); var key = gen.Generate(seed); for (var j = 0; j < baseKeys.Length; j++) { Assert.IsTrue(PartialKeyValidator.ValidateKey(checksum, hash, key, j, baseKeys[j])); } } }
private void ValidateKeys() { try { validFirstCheckBox.CheckState = PartialKeyValidator.ValidateKey(new Adler16(), new Jenkins96(), keyTextBox.Text, 0, 1) ? CheckState.Checked : CheckState.Unchecked; validSecondCheckBox.CheckState = PartialKeyValidator.ValidateKey(new Adler16(), new Jenkins96(), keyTextBox.Text, 1, 2) ? CheckState.Checked : CheckState.Unchecked; validThirdCheckBox.CheckState = PartialKeyValidator.ValidateKey(new Adler16(), new Jenkins96(), keyTextBox.Text, 2, 3) ? CheckState.Checked : CheckState.Unchecked; validFourthCheckBox.CheckState = PartialKeyValidator.ValidateKey(new Adler16(), new Jenkins96(), keyTextBox.Text, 3, 4) ? CheckState.Checked : CheckState.Unchecked; seedCheckBox.CheckState = PartialKeyValidator.GetSerialNumberFromKey(keyTextBox.Text) == PartialKeyValidator.GetSerialNumberFromSeed(userNameTextBox.Text) ? CheckState.Checked : CheckState.Unchecked; } catch (Exception) { validFirstCheckBox.CheckState = CheckState.Unchecked; validSecondCheckBox.CheckState = CheckState.Unchecked; validThirdCheckBox.CheckState = CheckState.Unchecked; validFourthCheckBox.CheckState = CheckState.Unchecked; seedCheckBox.CheckState = CheckState.Unchecked; } }
public void MultipleHashes() { IChecksum16 checksum = new Adler16(); for (uint i = 0; i < 100; i++) { var baseKeys = new[] { (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next(), (uint)Random.Next() }; var gen = new PartialKeyGenerator(checksum, TestHashes, baseKeys) { Spacing = 6 }; var seed = (uint)Random.Next(); var key = gen.Generate(seed); var hashIndex = 0; for (var j = 0; j < baseKeys.Length; j++) { Assert.IsTrue(PartialKeyValidator.ValidateKey(checksum, TestHashes[hashIndex++], key, j, baseKeys[j])); hashIndex %= TestHashes.Length; } } }