コード例 #1
0
        public Property EncodeDecodeAreDuals_Collected(Mod4Binary input)
        {
            var processed = Z85.Decode(Z85.Encode(input.Data));

            return(processed.SequenceEqual(input.Data)
                   // gather individual sizes
                   .Collect(input.Data.Length));
        }
コード例 #2
0
        public Property EncodeDecodeAreDuals_Trivial(Mod4Binary input)
        {
            var processed = Z85.Decode(Z85.Encode(input.Data));

            return(processed.SequenceEqual(input.Data)
                   // identify a special case
                   .Trivial(input.Data.Any(b => b == 70)));
        }
コード例 #3
0
        public Property EncodeDecodeAreDuals_Classified(Mod4Binary input)
        {
            var processed = Z85.Decode(Z85.Encode(input.Data));

            return(processed.SequenceEqual(input.Data)
                   // bucket by common sizes
                   .Classify(input.IsLarge(), "Large (64 .. ∞ bytes)")
                   .Classify(input.IsMedium(), "Medium (24 .. 60 bytes)")
                   .Classify(input.IsSmall(), "Small (8 .. 20 bytes)")
                   .Classify(input.IsTiny(), "Tiny (0 .. 4 bytes)"));
        }
コード例 #4
0
        public Property EncodeDecodeAreDuals_Combined(Mod4Binary input)
        {
            var processed = Z85.Decode(Z85.Encode(input.Data));

            return(processed.SequenceEqual(input.Data)
                   // identify a special case
                   .Trivial(input.Data.Any(b => b == 70))
                   // bucket by common sizes
                   .Classify(input.IsLarge(), "Large (64 .. ∞ bytes)")
                   .Classify(input.IsMedium(), "Medium (24 .. 60 bytes)")
                   .Classify(input.IsSmall(), "Small (8 .. 20 bytes)")
                   .Classify(input.IsTiny(), "Tiny (0 .. 4 bytes)")
                   // gather individual sizes
                   .Collect(input.Data.Length));
        }
コード例 #5
0
ファイル: Z85Encode.cs プロジェクト: lw000/zmq_guide
        public static void Z85Decode(string[] args)
        {
            //
            // Author: metadings
            //

            if (args == null || args.Length < 1)
            {
                args = new string[] { "nm=QNzY&b1A+]nf" };
            }

            string txt     = args[0];
            string decoded = Z85.Decode(txt);

            Console.WriteLine("{0}: {1}", txt, decoded);
        }
コード例 #6
0
        public void SetOption_CurveSecretKey()
        {
            if (!ZContext.Has("curve"))
            {
                Assert.Ignore("Ignored due to missing curve support");
            }
            Assume.That(PlatformKind.Win32 == Platform.Kind); // TODO: fix the test and remove this

            DoWithUnconnectedPairSocket(socket =>
            {
                // TODO: the interface is confusing; Z85-encoded keys should always be strings
                byte[] publicKeyZ85, secretKeyZ85;
                Z85.CurveKeypair(out publicKeyZ85, out secretKeyZ85);
                socket.CurveSecretKey  = secretKeyZ85;
                byte[] secretKeyBinary = Z85.Decode(secretKeyZ85);
                CollectionAssert.AreEqual(secretKeyBinary, socket.CurveSecretKey);
            });
        }
コード例 #7
0
        public Boolean EncodeDecodeAreDuals_Passing(Mod4Binary input)
        {
            var processed = Z85.Decode(Z85.Encode(input.Data));

            return(processed.SequenceEqual(input.Data));
        }
コード例 #8
0
        public Boolean EncodeDecodeAreDuals_Failing(Byte[] data)
        {
            var processed = Z85.Decode(Z85.Encode(data));

            return(processed.SequenceEqual(data));
        }