For 1.21dlc
KeyGen:
Code:
Patron: ዂl7YpwG
SecretCode: ርIxpD0nNIG
Code:
private static KeyValuePair<int, char> GetHashChar(Random random, int hash)
{
var chars = new List<KeyValuePair<int, char>>();
for (var i = 0; i < int.MaxValue / 2; i++)
{
var val = -(int)(unchecked(((i << 5) - i)) - hash);
if ((val < 48 || val > 122) || (val > 57 && val < 65) || (val > 90 && val < 97)) continue;
chars.Add(new KeyValuePair<int, char>(i, (char)val));
if (chars.Count > 3) break;
}
return chars[random.Next(0, chars.Count)];
}
private static string GetPasswordForHash(int hash)
{
var random = new Random();
var hashChar = GetHashChar(random, hash);
var password = hashChar.Value.ToString();
while (hashChar.Key < 48 || hashChar.Key > 0xFFFF)
{
hashChar = GetHashChar(random, hashChar.Key);
password = hashChar.Value + password;
}
return (char)hashChar.Key + password;
}