using System.Security.Cryptography;
using System.Text.RegularExpressions;
public static void Main()
Console.WriteLine(Generate());
private static string Generate(int length = 50)
using RNGCryptoServiceProvider cryptRNG = new RNGCryptoServiceProvider();
byte[] buffer = new byte[length];
cryptRNG.GetBytes(buffer);
var secret = Base85.Ascii85.Encode(buffer);
var safeSecret = Regex.Replace(secret, "[&'\"<>\\\\]`", "@");