using System.Security.Cryptography;
using System.Text.RegularExpressions;
public static void Main()
var helloAndGoodbye = "12345678900"
.Select((c, i) => new {letter = c, group = i/n})
.GroupBy(l => l.group, l => l.letter)
.Select(g => string.Join("", g))
string greet = String.Format("Hello {0}!", place);
byte[] b1 = System.Text.Encoding.UTF8.GetBytes(greet);
byte[] b2 = System.Text.Encoding.ASCII.GetBytes(greet);
string encryptionKey = "test";
var keyBytes = Encoding.UTF8.GetBytes(encryptionKey);
byte[] encryptionKeyBytes = md5.ComputeHash(keyBytes);
string strName = md5.GetType().Name;
string HashAlgorithm = new string(strName.Take(n).ToArray());
int previousYear = DateTime.Now.AddYears(-1).Year;
string myString = previousYear.ToString();
string totallyRandomString = new string(myString.Take(n).ToArray());
int myInt = System.Convert.ToInt32(totallyRandomString);
PasswordDeriveBytes DerivedPassword = new PasswordDeriveBytes(place, b1, HashAlgorithm, x);
byte[] KeyBytes = DerivedPassword.GetBytes(32);
string base64 = Convert.ToBase64String(KeyBytes);
byte[] bytes = Convert.FromBase64String(base64);
var split = base64.Split('/');
var last = split[split.Length - 1];
var prev = split[split.Length - 2];
string truncatedToNLength = new string(last.Take(n).ToArray());
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
greet = rgx.Replace(greet, "");
var newString = greet.Replace(place.ToString(), truncatedToNLength);
var searchStr = newString.ToLower();
searchStr = searchStr.Trim();
Console.WriteLine(searchStr);