using System.Security.Cryptography;
public static void Main()
int HASH_ITERATIONS = 1000;
string idAndKey = "brent.lynch@procentive.com" + "43frgyniktr6ujmn678nrdt43tyyt89k87juj";
string token = "6NuG-giEzJ8vuZM2rFDGs1j5keI_I8Px2rF6yAo6E9YhQ-wBo0G__Yhr6K1Eyf_RTkTcJLXsIx_yF39TRXXaVg2";
Rfc2898DeriveBytes pbkdf2 = new Rfc2898DeriveBytes(idAndKey, HttpServerUtility.UrlTokenDecode(token)) { IterationCount = HASH_ITERATIONS };
var key = HttpServerUtility.UrlTokenEncode(pbkdf2.GetBytes(HASH_BYTES));
Console.WriteLine("ngq7AHGQ9H3EIW0s1hKpaBqFtuIsyV5b0");