Guest User

c# keygen

a guest
Nov 25th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.31 KB | None | 0 0
  1. private KeyState CheckKey(string key) { // key length: 32 chars
  2.     byte[] buffer = new byte[key.Length / 2];  
  3.     int num = 0;
  4.     for (int i = 0; i < key.Length; i += 2) {
  5.         try {
  6.             buffer[num] = Convert.ToByte(key.Substring(i, 2), 16);
  7.         } catch {
  8.             return KeyState.InvalidKey;
  9.         }
  10.         num++;
  11.     }
  12.     MemoryStream memoryStream = new MemoryStream();
  13.     CryptoStream cryptoStream = null;
  14.     try {
  15.         cryptoStream = new CryptoStream(memoryStream,
  16.             new TripleDESCryptoServiceProvider().CreateDecryptor(SecretKey, Iv), CryptoStreamMode.Write);
  17.     } catch {
  18.         cryptoStream = null;
  19.         return KeyState.Unknown;
  20.     }
  21.     byte[] arr = null;
  22.     if (cryptoStream != null) {
  23.         try {
  24.             cryptoStream.Write(buffer, 0, buffer.Length);
  25.             cryptoStream.FlushFinalBlock(); // <---- System.Security.Cryptography.CryptographicException: Bad Data.
  26.             memoryStream.Position = 0L;
  27.             arr = memoryStream.ToArray();
  28.  
  29.             cryptoStream.Close();
  30.             memoryStream.Close();
  31.         } catch {
  32.             return KeyState.InvalidKey;
  33.         }
  34.     }
  35.     if (arr[0] != _licenseVersion[0] || arr[1] != _licenseVersion[1] || arr[2] != _licenseVersion[2] ||
  36.         arr[3] != _licenseVersion[3]) {
  37.         return KeyState.WrongProductKey;
  38.     }
  39.  
  40.     if (arr[6] != byte_0[arr[4], arr[5]] && arr[9] != byte_0[arr[7], arr[8]]) {
  41.         return KeyState.WrongKey;
  42.     }
  43.     return KeyState.OK;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment