Exemplo n.º 1
0
        public void Base56EncodeDecodeTest()
        {
            using (WebClient wc = new WebClient())
            {
                String   base56FullVectors = wc.DownloadString("https://raw.githubusercontent.com/sqrldev/sqrl-test-vectors/master/vectors/base56-full-format-vectors.txt");
                String[] lines             = base56FullVectors.Split("\n");
                bool     first             = true;

                foreach (var line in lines)
                {
                    if (first || string.IsNullOrEmpty(line))
                    {
                        first = false;
                        continue;
                    }
                    string[] data = line.Replace("\"", "").Split(',');

                    string s         = SQRL.GenerateTextualIdentityBase56(Sodium.Utilities.Base64ToBinary(data[0], string.Empty, Sodium.Utilities.Base64Variant.UrlSafeNoPadding));
                    byte[] alpha     = SQRL.Base56DecodeIdentity(s);
                    string inputData = Sodium.Utilities.BinaryToBase64(alpha, Sodium.Utilities.Base64Variant.UrlSafeNoPadding);

                    Assert.Equal(inputData.CleanUpString(), data[0].CleanUpString());
                }
            }
        }