private static string EncryptKeyFull() { string keyDemo = GetKeyValue(path, name); if (keyDemo == null) { } Encoding ascii = Encoding.ASCII; int nr; // Bejme kriptimin e kohes kur eshte ngarkuar sistemi string loadedSystemTime = keyDemo.Substring(keyDemo.Length - 4, 4); Byte[] systemTime = ascii.GetBytes(loadedSystemTime); string encodedSystemTime = ""; foreach (Byte b in systemTime) { nr = Algebra.GetIndex(Convert.ToChar(b)); // Bejme kete veprim: ((nr + 15) * 3) - 8 nr = Algebra.Substract(Algebra.Multiply(Algebra.Sum(nr, 15, 59), 3, 59), 6, 59); encodedSystemTime += Algebra.GetChar(nr).ToString(); } // Bejme kriptimin e numrit serial te Windows-it string systemSerial = keyDemo.Substring(0, 8); Byte[] encodedSystemSerial = ascii.GetBytes(systemSerial); string systemSerialEnc = ""; foreach (Byte b in encodedSystemSerial) { nr = Algebra.GetIndex(Convert.ToChar(b)); // Bejme kete veprim: ((nr - 2) * 10) + 7 nr = Algebra.Sum(Algebra.Multiply(Algebra.Substract(nr, 2, 59), 10, 59), 7, 59); systemSerialEnc += Algebra.GetChar(nr); } // Bejme kriptimin e ID-se se hardDiskut string hardDisk = keyDemo.Substring(8, 8); Byte[] encodedHardDiskID = ascii.GetBytes(hardDisk); string hardDiskIDEnc = ""; int i = 0; foreach (Byte b in encodedHardDiskID) { nr = Algebra.GetIndex(Convert.ToChar(b)); // Bejme kete veprim: ((nr + 6) * 7) + ((i * 3) + 3) nr = Algebra.Sum(Algebra.Multiply(Algebra.Sum(nr, 6, 59), 7, 59), Algebra.Sum(Algebra.Multiply(i, 3, 59), 3, 59), 59); hardDiskIDEnc += Algebra.GetChar(nr); i++; } // Ne kete pike vendosim te gjitha vlerat e nxjerra nga kriptimi, bashke return(systemSerialEnc + hardDiskIDEnc + encodedSystemTime); }
/// <summary> /// Ben deshifrimin e numrit serial qe eshte i ruajtur ne rregjistra nga versioni i plote ne /// versionin DEMO /// </summary> /// <returns>numrin serial te deshifruar</returns> private static string DecryptKeyFull(string encrypted) { try { string keyFull = GetKeyValue(path, name); if (keyFull == null || keyFull == "") { StoreKeyToRegistry(name, encrypted); keyFull = encrypted; } Encoding ascii = Encoding.ASCII; int nr; // Bejme deshifrimin e kohes se ngarkimit te sistemit string loadedSystemTime = keyFull.Substring(keyFull.Length - 4, 4); string systemTimeDec = ""; Byte[] systemTime = ascii.GetBytes(loadedSystemTime); foreach (Byte b in systemTime) { nr = Algebra.GetIndex(Convert.ToChar(b)); // Bejme kete veprim: ((nr + 8) / 3) - 15 nr = Algebra.Substract(Algebra.Divide(Algebra.Sum(nr, 6, 59), 3, 59), 15, 59); systemTimeDec += Algebra.GetChar(nr).ToString(); } // Bejme deshifrimin e numrit serial te sistemit string systemSerial = keyFull.Substring(0, 8); string systemSerialDec = ""; Byte[] encodedSystemSerial = ascii.GetBytes(systemSerial); foreach (Byte b in encodedSystemSerial) { nr = Algebra.GetIndex(Convert.ToChar(b)); // Bejme kete veprim: ((nr - 7) / 10) + 2 nr = Algebra.Sum(Algebra.Divide(Algebra.Substract(nr, 7, 59), 10, 59), 2, 59); systemSerialDec += Algebra.GetChar(nr).ToString(); } // Bejme deshifrimin e numrit serial te hard diskut string hardDiskSerial = keyFull.Substring(8, 8); string hardDiskSerialDec = ""; Byte[] encodedHDSerial = ascii.GetBytes(hardDiskSerial); int i = 0; foreach (Byte b in encodedHDSerial) { nr = Algebra.GetIndex(Convert.ToChar(b)); // Bejme kete veprim: ((nr - ((i * 3) + 3) / 7) - 6 nr = Algebra.Substract(Algebra.Divide(Algebra.Substract(nr, Algebra.Sum(Algebra.Multiply(i, 3, 59), 3, 59), 59), 7, 59), 6, 59); hardDiskSerialDec += Algebra.GetChar(nr).ToString(); i++; } // Tani bashkojme vlerat e gjetura nga deshifrimet e mesiperme dhe e kthejme kete vlere return(systemSerialDec + hardDiskSerialDec + systemTimeDec); } catch (Exception ex) { return(""); } }