public void TestSigning() { // we can sign any hash, so for convenience we will sign the first // address of our test seed // (but remove the checksum) with the key of our fifth address var hashToSign = FIRST_ADDR.RemoveChecksum(); var signing = new Signing(null); var key = signing.Key(Converter.ToTrits(TEST_SEED), 5, 2); var normalizedHash = new Bundle().NormalizedBundle(hashToSign); var subKey = new int[6561]; var subNormalizedHash = new int[27]; Array.Copy(key, 0, subKey, 0, 6561); Array.Copy(normalizedHash, 0, subNormalizedHash, 0, 27); var signature = signing.SignatureFragment( subNormalizedHash, subKey); Assert.AreEqual(SIGNATURE1, Converter.ToTrytes(signature)); Array.Copy(key, 6561, subKey, 0, 6561); Array.Copy(normalizedHash, 27, subNormalizedHash, 0, 27); var signature2 = signing.SignatureFragment( subNormalizedHash, subKey); Assert.AreEqual(SIGNATURE2, Converter.ToTrytes(signature2)); }
public void TestSigning() { // we can sign any hash, so for convenience we will sign the first // address of our test seed // (but remove the checksum) with the key of our fifth address string hashToSign = FIRST_ADDR.RemoveChecksum(); Signing signing = new Signing(); sbyte[] key = signing.Key(Converter.ToTrits(TEST_SEED), 5, 2); sbyte[] normalizedHash = new Bundle().NormalizedBundle(hashToSign); sbyte[] signature = signing.SignatureFragment( ArrayUtils.SubArray(normalizedHash, 0, 27), ArrayUtils.SubArray(key, 0, 6561)); Assert.AreEqual(SIGNATURE1, Converter.ToTrytes(signature)); sbyte[] signature2 = signing.SignatureFragment( ArrayUtils.SubArray(normalizedHash, 27, 27 * 2), ArrayUtils.SubArray(key, 6561, 6561 * 2)); Assert.AreEqual(SIGNATURE2, Converter.ToTrytes(signature2)); }