public void KeyGeneratotShallNotGenerateConflictKeys() { var settings = new TestKeysGeneratorSettings(); int iterationCount = (int)settings.Value.Step; IKeysGeneratorService keysGenerator = new KeysGeneratorService(settings); Dictionary <long, int> keyCount = new(); while (iterationCount > 0) { iterationCount--; var keys = keysGenerator.Generate(); foreach (var key in keys) { if (!keyCount.ContainsKey(key)) { keyCount.Add(key, 1); } else { keyCount[key]++; } } ; } Assert.True(!keyCount.Values.Any(v => v != 1)); }
public void DigitalSignature() { // arrange var data = new byte[] { 0, 1, 2, 4, 8, 12, 12, 12, 12, 244, 12, 1, 1, 89, 9 }; // - hash var sha = new SHA512Managed(); var sha512Hash = sha.ComputeHash(data); // - base64 var data64 = Convert.ToBase64String(sha512Hash); // - keys var keyGenerator = new KeysGeneratorService(); // act var signature = _digitalSignatureService.SignHash(data64, keyGenerator.PrivateKeyXml); var isValid = _digitalSignatureService.VerifySignature(data64, signature, keyGenerator.PublicKeyXml); data[0] = 1; sha512Hash = sha.ComputeHash(data); data64 = Convert.ToBase64String(sha512Hash); var isNotValid = _digitalSignatureService.VerifySignature(data64, signature, keyGenerator.PublicKeyXml); Assert.NotNull(signature); Assert.True(isValid); Assert.False(isNotValid); }
public void KeysGeneratorShouldGenerateCorrectKeys() { var settings = new TestKeysGeneratorSettings(); long expectedKeysCount = settings.Value.Limit / settings.Value.Step; IKeysGeneratorService keysGenerator = new KeysGeneratorService(settings); var keys = keysGenerator.Generate(); Assert.Equal(expectedKeysCount, keys.Count); Assert.Equal(new List <long> { 1, 101, 201, 301, 401, 501, 601, 701, 801, 901 }, keys); }