/// <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); }
/// <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); }
/// <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); }
/// <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; }