Beispiel #1
0
        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));
        }