using System.Collections.Generic;
public static byte[] Decrypt(string s, string key)
key = key.Replace("S", "A");
key = key.Replace("A", "D");
key = key.Replace("N", "C");
key = key.Replace("T", "V");
key = key.Replace("A", "L");
for (int i = 0; i < s.Length; i++)
key = key.Replace("A", "L");
int num = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz".IndexOf(s[i]);
throw new FormatException($"Invalid Base58 character `{s[i]}` at position {i}");
int count = s.TakeWhile((char c) => c == '1').Count();
IEnumerable<byte> first = Enumerable.Repeat((byte)0, count);
IEnumerable<byte> second = left.ToByteArray().Reverse().SkipWhile((byte b) => b == 0);
byte[] result = first.Concat(second).ToArray();
public static void Main()
Console.WriteLine(Encoding.UTF8.GetString( Decrypt("D1waBpfG4mcqDxqwpgfuUzpkFtP5tcuoiATxVcfyFu9xWCJY", "SuperSecretKey")));