Beispiel #1
0
        /// <summary>
        /// Encode raw byte array (without prefix) to a string.
        /// </summary>
        /// <param name="Data">Data to encode.</param>
        /// <param name="Alphabet">Encoding alphabet to use.</param>
        /// <returns>Encoded string representation of the input data.</returns>
        public string EncodeRaw(byte[] Data, Base58Alphabet Alphabet = Base58Alphabet.Bitcoin)
        {
            string res = null;

            switch (Alphabet)
            {
            case Base58Alphabet.Bitcoin:
                res = EncodeRaw(Data, BitcoinAlphabet);
                break;

            case Base58Alphabet.Flickr:
                res = EncodeRaw(Data, FlickrAlphabet);
                break;
            }

            return(res);
        }
Beispiel #2
0
        /// <summary>
        /// Encode byte array to a string.
        /// </summary>
        /// <param name="Data">Data to encode.</param>
        /// <param name="Alphabet">Encoding alphabet to use.</param>
        /// <returns>Encoded string representation of the input data.</returns>
        private string Encode(byte[] Data, Base58Alphabet Alphabet = Base58Alphabet.Bitcoin)
        {
            string res = null;

            switch (Alphabet)
            {
            case Base58Alphabet.Bitcoin:
                res = "z" + EncodeRaw(Data, Alphabet);
                break;

            case Base58Alphabet.Flickr:
                res = "Z" + EncodeRaw(Data, Alphabet);
                break;
            }

            return(res);
        }
Beispiel #3
0
        /// <summary>
        /// Decodes a raw encoded string (without prefix) to byte array.
        /// </summary>
        /// <param name="EncodedString">Input data encoded as a string.</param>
        /// <param name="Alphabet">Decoding alphabet to use.</param>
        /// <returns>Byte array representation of the encoded data.</returns>
        public byte[] DecodeRaw(string EncodedString, Base58Alphabet Alphabet = Base58Alphabet.Bitcoin)
        {
            byte[] res = null;

            try
            {
                switch (Alphabet)
                {
                case Base58Alphabet.Bitcoin:
                    res = DecodeRaw(EncodedString, BitcoinAlphabet);
                    break;

                case Base58Alphabet.Flickr:
                    res = DecodeRaw(EncodedString, FlickrAlphabet);
                    break;
                }
            }
            catch
            {
            }

            return(res);
        }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Base58"/> class
 /// using a custom alphabet.
 /// </summary>
 /// <param name="alphabet">Alphabet to use.</param>
 public Base58(Base58Alphabet alphabet)
 {
     Alphabet = alphabet;
 }