Beispiel #1
0
        public void HashProviderShouldHashNullOrEmpty()
        {
            // sha2
            Hex sha2 = Sha2Provider.Hash256(null);

            Assert.True(sha2 == "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855");
            Assert.True(sha2 == Sha2Provider.Hash256(new byte[0]));
            Assert.True(sha2 == Sha2Provider.Hash256(Encoding.UTF8.GetBytes("")));

            // sha3
            Hex sha3 = Sha3Provider.Hash256(null);

            Assert.True(sha3 == "0xa7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a");
            Assert.True(sha3 == Sha3Provider.Hash256(new byte[0]));

            // keccak
            Hex keccak = KeccakProvider.Hash256(null);

            Assert.True(keccak == "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470");
            Assert.True(keccak == KeccakProvider.Hash256(new byte[0]));

            // blake2s
            Hex blake2s = Blake2sProvider.Hash256(null);

            Assert.True(blake2s == "0x69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9");
            Assert.True(blake2s == Blake2sProvider.Hash256(new byte[0]));

            // blake2b
            Hex blake2b = Blake2bProvider.Hash512(null);

            Assert.True(blake2b == "0x786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce");
            Assert.True(blake2b == Blake2bProvider.Hash512(new byte[0]));

            // ripemd
            Hex ripemd = RipemdProvider.Hash160(null);

            Assert.True(ripemd == "0x9c1185a5c5e9fc54612808977ee8f548b2258d31");
            Assert.True(ripemd == RipemdProvider.Hash160(new byte[0]));


            blake2b = Blake2bProvider.Hash512(Encoding.UTF8.GetBytes("The quick brown fox jumps over the lazy dog"));
            Assert.True(blake2b == "0xa8add4bdddfd93e4877d2746e62817b116364a1fa7bc148d95090bc7333b3673f82401cf7aa2e4cb1ecd90296e3f14cb5413f8ed77be73045b13914cdcd6a918");
            blake2b = Blake2bProvider.Hash512(Encoding.UTF8.GetBytes("The quick brown fox jumps over the lazy dof"));
            Assert.True(blake2b == "0xab6b007747d8068c02e25a6008db8a77c218d94f3b40d2291a7dc8a62090a744c082ea27af01521a102e42f480a31e9844053f456b4b41e8aa78bbe5c12957bb");
        }
Beispiel #2
0
        public void EcdhSanityCheck()
        {
            PrivateKey k1 = "0x82fc9947e878fc7ed01c6c310688603f0a41c8e8704e5b990e8388343b0fd465";
            PrivateKey k2 = "0x5f706787ac72c1080275c1f398640fb07e9da0b124ae9734b28b8d0f01eda586";

            Assert.Equal("0x04c7c674a223661faefed8515febacc411c0f3569c10c65ec86cdce4d85c7ea26c617f0cf19ce0b10686501e57af1a7002282fefa52845be2267d1f4d7af322974",
                         Hex.ToString(k1.PublicKey.UncompressedKey));

            Assert.Equal("0x04b80cdf1422644ccfb0a2c73103bdfa3cc96786c3e63d8df70267fc7fffe711a1000d37a20cefd1fdcceec0b0b3f25a46c8a430800ba0c19f4ae0cfc582de8fb8",
                         Hex.ToString(k2.PublicKey.UncompressedKey));

            PrivateKey shared = k1.CreateEcdhKey(k2.PublicKey);

            Assert.Equal("0x5935d0476af9df2998efb60383adf2ff23bc928322cfbb738fca88e49d557d7e", (string)shared);

            byte[] hashed = Sha2Provider.Hash256(Hex.ToByteArray("0x033a17fe5fa33c4f2c7e61799a65061214913f39bfcbee178ab351493d5ee17b2f"));
            Assert.Equal("0x5935d0476af9df2998efb60383adf2ff23bc928322cfbb738fca88e49d557d7e", Hex.ToString(hashed));
        }