From 6b70c66b460daf921ef48614053d31d253afffb7 Mon Sep 17 00:00:00 2001 From: Ertugrul KARA Date: Mon, 12 Nov 2018 17:37:45 +0300 Subject: [PATCH 1/5] added .gitignorefile for visualstudio --- .gitignore | 330 ++++++++++++++++++ ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6791 -> 6772 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6642 -> 6655 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6389 -> 6370 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6215 -> 6212 bytes 5 files changed, 330 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e759b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,330 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ +**/Properties/launchSettings.json + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ diff --git a/SKGL 2.0.5.2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SKGL 2.0.5.2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index ad0336821c4f6809c6a0f80ae1e4b1f69f3c5d11..3214134057fc9550b5a2612b12c59f5e7e5750b6 100644 GIT binary patch delta 204 zcmZoS{bDk~X|f`#*2ElNM#+u4ESa1oN{ds2Qqxk4QuC5ii`|Oya|4R~w_=;en z0f{9U#cWJ$%xr8749q~1iII_!4Tymx1Jiug$qywqZQjRh$j-<(`8`($Z=|zTjC*ED zaDHh~a_Z!}JW`X_aZhJr;F|2pW6rCGE-4k_@8YjlQc=Pt#lXN|iY&ePF3$ljUISzy Mka3%@h;L>B0P2oWx@; fYeztp)Z_y^yt1x@RBiskvy4mDfuOR3;+vTOH!nz~ diff --git a/SKGL Plus/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SKGL Plus/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index ad3a03409da3b28da5c7f83a3a279adcbd2b0cab..fe953c4e53b14679db3f9d79a5103b88877d90f5 100644 GIT binary patch delta 146 zcmexl{NH$j(_}?ft%*6ljFKC7Su#0FloqE3rKY78rRF847P}SY=LQtzXQd{W@D;&C z0}@LzirJXhnAzAE7?^=16C)!d8xR9Y2Byt^91EE?uV!^&Wn`TEo~wg5%-Jf&J+mY@ fzqBYhb@CMMbxaIgo1J)0a`EaS%WT#VKg9$9^&cyf delta 147 zcmexw{KB0OcraZhJr;M(lTW6H>Dfh@auHZM0jqsipuBAa+kP$bGkFERlDcjGmH delta 184 zcmX?NaNJ;m6Qj}OKo-r3IlheI8+TbUNwP7qF|)BTFfap2CPqd^HXsI)^I0c9WZtw{ zhw~ld=4-6Ztdpg*ujk&nIgQ7Z hQPu;Wvdt@ax!Hk^*dnq?)&-wJpm}neCyH)n0stVxI@SOH From f13ccdb1574afdc0daf307f61575d63e64facbfe Mon Sep 17 00:00:00 2001 From: Ertugrul KARA Date: Tue, 13 Nov 2018 14:09:25 +0300 Subject: [PATCH 2/5] changed code structure for maintable files --- SKGL 2.0.5.2/Base/BaseConfiguration.cs | 167 +++++++ SKGL 2.0.5.2/Generate.cs | 118 +++++ SKGL 2.0.5.2/SKGL.cs | 602 +------------------------ SKGL 2.0.5.2/SKGL.csproj | 4 + SKGL 2.0.5.2/SerialKeyConfiguration.cs | 29 ++ SKGL 2.0.5.2/Validate.cs | 252 +++++++++++ 6 files changed, 587 insertions(+), 585 deletions(-) create mode 100644 SKGL 2.0.5.2/Base/BaseConfiguration.cs create mode 100644 SKGL 2.0.5.2/Generate.cs create mode 100644 SKGL 2.0.5.2/SerialKeyConfiguration.cs create mode 100644 SKGL 2.0.5.2/Validate.cs diff --git a/SKGL 2.0.5.2/Base/BaseConfiguration.cs b/SKGL 2.0.5.2/Base/BaseConfiguration.cs new file mode 100644 index 0000000..252f902 --- /dev/null +++ b/SKGL 2.0.5.2/Base/BaseConfiguration.cs @@ -0,0 +1,167 @@ +using System; +using System.Linq; +using System.Management; +using System.Net.NetworkInformation; +using System.Security; + +namespace SKGL.Base +{ + public abstract class BaseConfiguration + { + //Put all functions/variables that should be shared with + //all other classes that inherit this class. + // + //note, this class cannot be used as a normal class that + //you define because it is MustInherit. + + protected internal string _key = ""; + /// + /// The key will be stored here + /// + public virtual string Key + { + //will be changed in both generating and validating classe. + get { return _key; } + set { _key = value; } + } + + /// + /// + /// + /// + /// + /// + public virtual int MachineCode + { + get { return getMachineCode(); } + } + + [SecuritySafeCritical] + private static int getMachineCode() + { + // please see https://skgl.codeplex.com/workitem/2246 for a list of developers of this code. + + methods m = new methods(); + + ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Processor"); + string collectedInfo = ""; + // here we will put the informa + foreach (ManagementObject share in searcher.Get()) + { + // first of all, the processorid + collectedInfo += share.GetPropertyValue("ProcessorId"); + } + + searcher.Query = new ObjectQuery("select * from Win32_BIOS"); + foreach (ManagementObject share in searcher.Get()) + { + //then, the serial number of BIOS + collectedInfo += share.GetPropertyValue("SerialNumber"); + } + + searcher.Query = new ObjectQuery("select * from Win32_BaseBoard"); + foreach (ManagementObject share in searcher.Get()) + { + //finally, the serial number of motherboard + collectedInfo += share.GetPropertyValue("SerialNumber"); + } + + // patch luca bernardini + if (string.IsNullOrEmpty(collectedInfo) | collectedInfo == "00" | collectedInfo.Length <= 3) + { + collectedInfo += getHddSerialNumber(); + } + + // In case we have message "To be filled by O.E.M." - there is incorrect motherboard/BIOS serial number + // - we should relay to NIC + if (collectedInfo.Contains("To be filled by O.E.M.")) + { + var nic = GetNicInfo(); + + if (!string.IsNullOrWhiteSpace(nic)) + collectedInfo += nic; + } + + return m.getEightByteHash(collectedInfo, 100000); + + } + + /// + /// Enumerate all Nic adapters, take first one, who has MAC address and return it. + /// + /// Function MUST! be updated to select only real NIC cards (and filter out USB and PPTP etc interfaces). + /// Otherwise user can run in this scenario: a) Insert USB NIC b) Generate machine code c) Remove USB NIC... + /// + /// MAC address of NIC adapter + [SecuritySafeCritical] + private static string GetNicInfo() + { + var nics = NetworkInterface.GetAllNetworkInterfaces(); + var mac = string.Empty; + + foreach (var adapter in nics.Where(adapter => string.IsNullOrWhiteSpace(mac))) + mac = adapter.GetPhysicalAddress().ToString(); + + return mac; + } + + /// + /// Read the serial number from the hard disk that keep the bootable partition (boot disk) + /// + /// + /// If succedes, returns the string rappresenting the Serial Number. + /// String.Empty if it fails. + /// + [SecuritySafeCritical] + private static string getHddSerialNumber() + { + // --- Win32 Disk + ManagementObjectSearcher searcher = new ManagementObjectSearcher("\\root\\cimv2", "select * from Win32_DiskPartition WHERE BootPartition=True"); + + uint diskIndex = 999; + foreach (ManagementObject partition in searcher.Get()) + { + diskIndex = Convert.ToUInt32(partition.GetPropertyValue("DiskIndex")); // should be DiskIndex + break; // TODO: might not be correct. Was : Exit For + } + + // I haven't found the bootable partition. Fail. + if (diskIndex == 999) + return string.Empty; + + // --- Win32 Disk Drive + searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive where Index = " + diskIndex.ToString()); + + string deviceName = ""; + foreach (ManagementObject wmi_HD in searcher.Get()) + { + deviceName = wmi_HD.GetPropertyValue("Name").ToString(); + break; // TODO: might not be correct. Was : Exit For + } + + + // I haven't found the disk drive. Fail + if (string.IsNullOrEmpty(deviceName.Trim())) + return string.Empty; + + // -- Some problems in query parsing with backslash. Using like operator + if (deviceName.StartsWith("\\\\.\\")) + { + deviceName = deviceName.Replace("\\\\.\\", "%"); + } + + // --- Physical Media + searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia WHERE Tag like '" + deviceName + "'"); + string serial = string.Empty; + foreach (ManagementObject wmi_HD in searcher.Get()) + { + serial = wmi_HD.GetPropertyValue("SerialNumber").ToString(); + break; // TODO: might not be correct. Was : Exit For + } + + return serial; + + } + + } +} diff --git a/SKGL 2.0.5.2/Generate.cs b/SKGL 2.0.5.2/Generate.cs new file mode 100644 index 0000000..d7bdf04 --- /dev/null +++ b/SKGL 2.0.5.2/Generate.cs @@ -0,0 +1,118 @@ +using SKGL.Base; +using System; + +namespace SKGL +{ + public class Generate : BaseConfiguration + { + //this class have to be inherited because of the key which is shared with both encryption/decryption classes. + + SerialKeyConfiguration skc = new SerialKeyConfiguration(); + methods m = new methods(); + Random r = new Random(); + public Generate() + { + // No overloads works with Sub New + } + public Generate(SerialKeyConfiguration _serialKeyConfiguration) + { + skc = _serialKeyConfiguration; + } + + private string _secretPhase; + /// + /// If the key is to be encrypted, enter a password here. + /// + + public string secretPhase + { + get { return _secretPhase; } + set + { + if (value != _secretPhase) + { + _secretPhase = m.twentyfiveByteHash(value); + } + } + } + /// + /// This function will generate a key. + /// + /// For instance, 30 days. + public string doKey(int timeLeft) + { + return doKey(timeLeft, DateTime.Today); // removed extra argument false + } + + /// + /// + /// + /// For instance, 30 days + /// Lock a serial key to a specific machine, given its "machine code". Should be 5 digits long. + /// + /// + public object doKey(int timeLeft, int useMachineCode) + { + return doKey(timeLeft, DateTime.Today, useMachineCode); + } + + /// + /// This function will generate a key. You may also change the creation date. + /// + /// For instance, 30 days. + /// Change the creation date of a key. + /// Lock a serial key to a specific machine, given its "machine code". Should be 5 digits long. + public string doKey(int timeLeft, System.DateTime creationDate, int useMachineCode = 0) + { + if (timeLeft > 999) + { + //Checking if the timeleft is NOT larger than 999. It cannot be larger to match the key-length 20. + throw new ArgumentException("The timeLeft is larger than 999. It can only consist of three digits."); + } + + if (!string.IsNullOrEmpty(secretPhase) | secretPhase != null) + { + //if some kind of value is assigned to the variable "secretPhase", the code will execute it FIRST. + //the secretPhase shall only consist of digits! + System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("^\\d$"); + //cheking the string + if (reg.IsMatch(secretPhase)) + { + //throwing new exception if the string contains non-numrical letters. + throw new ArgumentException("The secretPhase consist of non-numerical letters."); + } + } + + //if no exception is thown, do following + string _stageThree = null; + if (useMachineCode > 0 & useMachineCode <= 99999) + { + _stageThree = m._encrypt(timeLeft, skc.Features, secretPhase, useMachineCode, creationDate); + // stage one + } + else + { + _stageThree = m._encrypt(timeLeft, skc.Features, secretPhase, r.Next(0, 99999), creationDate); + // stage one + } + + //if it is the same value as default, we do not need to mix chars. This step saves generation time. + + if (skc.addSplitChar == true) + { + // by default, a split character will be addedr + Key = _stageThree.Substring(0, 5) + "-" + _stageThree.Substring(5, 5) + "-" + _stageThree.Substring(10, 5) + "-" + _stageThree.Substring(15, 5); + } + else + { + Key = _stageThree; + } + + //we also include the key in the Key variable to make it possible for user to get his key without generating a new one. + return Key; + + } + + + } +} diff --git a/SKGL 2.0.5.2/SKGL.cs b/SKGL 2.0.5.2/SKGL.cs index 54c98c1..d1a9035 100644 --- a/SKGL 2.0.5.2/SKGL.cs +++ b/SKGL 2.0.5.2/SKGL.cs @@ -1,8 +1,7 @@ using System; -using System.Collections; -using System.Collections.Generic; -using System.Data; -using System.Diagnostics; +using System.Numerics; +using System.Security; + //Copyright (C) 2011-2012 Artem Los, www.clizware.net. //The author of this code shall get the credits @@ -13,581 +12,11 @@ // A great thank to Iberna (https://www.codeplex.com/site/users/view/lberna) // for getHardDiskSerial algorithm. -using System.Text; -using System.Management; -using System.Security; -using System.Numerics; -using System.Net.NetworkInformation; -using System.Linq; - - [assembly: AllowPartiallyTrustedCallers()] namespace SKGL -{ -#region "S E R I A L K E Y G E N E R A T I N G L I B R A R Y" - -#region "CONFIGURATION" - - public abstract class BaseConfiguration - { - //Put all functions/variables that should be shared with - //all other classes that inherit this class. - // - //note, this class cannot be used as a normal class that - //you define because it is MustInherit. - - protected internal string _key = ""; - /// - /// The key will be stored here - /// - public virtual string Key - { - //will be changed in both generating and validating classe. - get { return _key; } - set { _key = value; } - } - - /// - /// - /// - /// - /// - /// - public virtual int MachineCode - { - - get { return getMachineCode(); } - } - - [SecuritySafeCritical] - private static int getMachineCode() - { - // please see https://skgl.codeplex.com/workitem/2246 for a list of developers of this code. - - methods m = new methods(); - - ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Processor"); - string collectedInfo = ""; - // here we will put the informa - foreach (ManagementObject share in searcher.Get()) - { - // first of all, the processorid - collectedInfo += share.GetPropertyValue("ProcessorId"); - } - - searcher.Query = new ObjectQuery("select * from Win32_BIOS"); - foreach (ManagementObject share in searcher.Get()) - { - //then, the serial number of BIOS - collectedInfo += share.GetPropertyValue("SerialNumber"); - } - - searcher.Query = new ObjectQuery("select * from Win32_BaseBoard"); - foreach (ManagementObject share in searcher.Get()) - { - //finally, the serial number of motherboard - collectedInfo += share.GetPropertyValue("SerialNumber"); - } - - // patch luca bernardini - if (string.IsNullOrEmpty(collectedInfo) | collectedInfo == "00" | collectedInfo.Length <= 3) - { - collectedInfo += getHddSerialNumber(); - } - - // In case we have message "To be filled by O.E.M." - there is incorrect motherboard/BIOS serial number - // - we should relay to NIC - if (collectedInfo.Contains("To be filled by O.E.M.")) - { - var nic = GetNicInfo(); - - if (!string.IsNullOrWhiteSpace(nic)) - collectedInfo += nic; - } - - return m.getEightByteHash(collectedInfo, 100000); - - } - - /// - /// Enumerate all Nic adapters, take first one, who has MAC address and return it. - /// - /// Function MUST! be updated to select only real NIC cards (and filter out USB and PPTP etc interfaces). - /// Otherwise user can run in this scenario: a) Insert USB NIC b) Generate machine code c) Remove USB NIC... - /// - /// MAC address of NIC adapter - [SecuritySafeCritical] - private static string GetNicInfo() - { - var nics = NetworkInterface.GetAllNetworkInterfaces(); - var mac = string.Empty; - - foreach (var adapter in nics.Where(adapter => string.IsNullOrWhiteSpace(mac))) - mac = adapter.GetPhysicalAddress().ToString(); - - return mac; - } - - /// - /// Read the serial number from the hard disk that keep the bootable partition (boot disk) - /// - /// - /// If succedes, returns the string rappresenting the Serial Number. - /// String.Empty if it fails. - /// - [SecuritySafeCritical] - private static string getHddSerialNumber() - { - // --- Win32 Disk - ManagementObjectSearcher searcher = new ManagementObjectSearcher("\\root\\cimv2", "select * from Win32_DiskPartition WHERE BootPartition=True"); - - uint diskIndex = 999; - foreach (ManagementObject partition in searcher.Get()) - { - diskIndex = Convert.ToUInt32(partition.GetPropertyValue("DiskIndex")); // should be DiskIndex - break; // TODO: might not be correct. Was : Exit For - } - - // I haven't found the bootable partition. Fail. - if (diskIndex == 999) - return string.Empty; - - - - // --- Win32 Disk Drive - searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive where Index = " + diskIndex.ToString()); - - string deviceName = ""; - foreach (ManagementObject wmi_HD in searcher.Get()) - { - deviceName = wmi_HD.GetPropertyValue("Name").ToString(); - break; // TODO: might not be correct. Was : Exit For - } - - - // I haven't found the disk drive. Fail - if (string.IsNullOrEmpty(deviceName.Trim())) - return string.Empty; - - // -- Some problems in query parsing with backslash. Using like operator - if (deviceName.StartsWith("\\\\.\\")) - { - deviceName = deviceName.Replace("\\\\.\\", "%"); - } - - - // --- Physical Media - searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia WHERE Tag like '" + deviceName + "'"); - string serial = string.Empty; - foreach (ManagementObject wmi_HD in searcher.Get()) - { - serial = wmi_HD.GetPropertyValue("SerialNumber").ToString(); - break; // TODO: might not be correct. Was : Exit For - } - - return serial; - - } - - } - public class SerialKeyConfiguration : BaseConfiguration - { - - #region "V A R I A B L E S" - private bool[] _Features = new bool[8] { - false, - false, - false, - false, - false, - false, - false, - false - //the default value of the Fetures array. - }; - public virtual bool[] Features - { - //will be changed in validating class. - get { return _Features; } - set { _Features = value; } - } - private bool _addSplitChar = true; - public bool addSplitChar - { - get { return _addSplitChar; } - set { _addSplitChar = value; } - } - - - #endregion - - } -#endregion - - #region "ENCRYPTION" - public class Generate : BaseConfiguration - { - //this class have to be inherited because of the key which is shared with both encryption/decryption classes. - - SerialKeyConfiguration skc = new SerialKeyConfiguration(); - methods m = new methods(); - Random r = new Random(); - public Generate() - { - // No overloads works with Sub New - } - public Generate(SerialKeyConfiguration _serialKeyConfiguration) - { - skc = _serialKeyConfiguration; - } - - private string _secretPhase; - /// - /// If the key is to be encrypted, enter a password here. - /// - - public string secretPhase - { - get { return _secretPhase; } - set - { - if (value != _secretPhase) - { - _secretPhase = m.twentyfiveByteHash(value); - } - } - } - /// - /// This function will generate a key. - /// - /// For instance, 30 days. - public string doKey(int timeLeft) - { - return doKey(timeLeft, DateTime.Today); // removed extra argument false - } - - /// - /// - /// - /// For instance, 30 days - /// Lock a serial key to a specific machine, given its "machine code". Should be 5 digits long. - /// - /// - public object doKey(int timeLeft, int useMachineCode) - { - return doKey(timeLeft, DateTime.Today, useMachineCode); - } - - /// - /// This function will generate a key. You may also change the creation date. - /// - /// For instance, 30 days. - /// Change the creation date of a key. - /// Lock a serial key to a specific machine, given its "machine code". Should be 5 digits long. - public string doKey(int timeLeft, System.DateTime creationDate, int useMachineCode = 0) - { - if (timeLeft > 999) - { - //Checking if the timeleft is NOT larger than 999. It cannot be larger to match the key-length 20. - throw new ArgumentException("The timeLeft is larger than 999. It can only consist of three digits."); - } - - if (!string.IsNullOrEmpty(secretPhase) | secretPhase != null) - { - //if some kind of value is assigned to the variable "secretPhase", the code will execute it FIRST. - //the secretPhase shall only consist of digits! - System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("^\\d$"); - //cheking the string - if (reg.IsMatch(secretPhase)) - { - //throwing new exception if the string contains non-numrical letters. - throw new ArgumentException("The secretPhase consist of non-numerical letters."); - } - } - - //if no exception is thown, do following - string _stageThree = null; - if (useMachineCode > 0 & useMachineCode <= 99999) - { - _stageThree = m._encrypt(timeLeft, skc.Features, secretPhase, useMachineCode, creationDate); - // stage one - } - else - { - _stageThree = m._encrypt(timeLeft, skc.Features, secretPhase, r.Next(0, 99999), creationDate); - // stage one - } - - //if it is the same value as default, we do not need to mix chars. This step saves generation time. - - if (skc.addSplitChar == true) - { - // by default, a split character will be addedr - Key = _stageThree.Substring(0, 5) + "-" + _stageThree.Substring(5, 5) + "-" + _stageThree.Substring(10, 5) + "-" + _stageThree.Substring(15, 5); - } - else - { - Key = _stageThree; - } - - //we also include the key in the Key variable to make it possible for user to get his key without generating a new one. - return Key; - - } - - - } - #endregion - - #region "DECRYPTION" - public class Validate : BaseConfiguration - { - //this class have to be inherited becuase of the key which is shared with both encryption/decryption classes. - - SerialKeyConfiguration skc = new SerialKeyConfiguration(); - methods _a = new methods(); - public Validate() - { - // No overloads works with Sub New - } - public Validate(SerialKeyConfiguration _serialKeyConfiguration) - { - skc = _serialKeyConfiguration; - } - /// - /// Enter a key here before validating. - /// - public string Key - { - //re-defining the Key - get { return _key; } - set - { - _res = ""; - _key = value; - } - } - - private string _secretPhase = ""; - /// - /// If the key has been encrypted, when it was generated, please set the same secretPhase here. - /// - public string secretPhase - { - get { return _secretPhase; } - set - { - if (value != _secretPhase) - { - _secretPhase = _a.twentyfiveByteHash(value); - } - } - } - - - private string _res = ""; - - private void decodeKeyToString() - { - // checking if the key already have been decoded. - if (string.IsNullOrEmpty(_res) | _res == null) - { - - string _stageOne = ""; - - Key = Key.Replace("-", ""); - - //if the admBlock has been changed, the getMixChars will be executed. - - - _stageOne = Key; - - - _stageOne = Key; - - // _stageTwo = _a._decode(_stageOne) - - if (!string.IsNullOrEmpty(secretPhase) | secretPhase != null) - { - //if no value "secretPhase" given, the code will directly decrypt without using somekind of encryption - //if some kind of value is assigned to the variable "secretPhase", the code will execute it FIRST. - //the secretPhase shall only consist of digits! - System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("^\\d$"); - //cheking the string - if (reg.IsMatch(secretPhase)) - { - //throwing new exception if the string contains non-numrical letters. - throw new ArgumentException("The secretPhase consist of non-numerical letters."); - } - } - _res = _a._decrypt(_stageOne, secretPhase); - - - } - } - private bool _IsValid() - { - //Dim _a As New methods ' is only here to provide the geteighthashcode method - try - { - if (Key.Contains("-")) - { - if (Key.Length != 23) - { - return false; - } - } - else - { - if (Key.Length != 20) - { - return false; - } - } - decodeKeyToString(); - - string _decodedHash = _res.Substring(0, 9); - string _calculatedHash = _a.getEightByteHash(_res.Substring(9, 19)).ToString().Substring(0, 9); - // changed Math.Abs(_res.Substring(0, 17).GetHashCode).ToString.Substring(0, 8) - - //When the hashcode is calculated, it cannot be taken for sure, - //that the same hash value will be generated. - //learn more about this issue: http://msdn.microsoft.com/en-us/library/system.object.gethashcode.aspx - if (_decodedHash == _calculatedHash) - { - return true; - } - else - { - return false; - } - } - catch (Exception ex) - { - //if something goes wrong, for example, when decrypting, - //this function will return false, so that user knows that it is unvalid. - //if the key is valid, there won't be any errors. - return false; - } - } - /// - /// Checks whether the key has been modified or not. If the key has been modified - returns false; if the key has not been modified - returns true. - /// - public bool IsValid - { - get { return _IsValid(); } - } - private bool _IsExpired() - { - if (DaysLeft > 0) - { - return false; - } - else - { - return true; - } - } - /// - /// If the key has expired - returns true; if the key has not expired - returns false. - /// - public bool IsExpired - { - get { return _IsExpired(); } - } - private System.DateTime _CreationDay() - { - decodeKeyToString(); - System.DateTime _date = new System.DateTime(); - _date = new DateTime(Convert.ToInt32(_res.Substring(9, 4)), Convert.ToInt32(_res.Substring(13, 2)), Convert.ToInt32(_res.Substring(15, 2))); - - return _date; - } - /// - /// Returns the creation date of the key. - /// - public System.DateTime CreationDate - { - get { return _CreationDay(); } - } - private int _DaysLeft() - { - decodeKeyToString(); - int _setDays = SetTime; - return Convert.ToInt32(((TimeSpan)(ExpireDate - DateTime.Today)).TotalDays); //or viseversa - } - /// - /// Returns the amount of days the key will be valid. - /// - public int DaysLeft - { - get { return _DaysLeft(); } - } - - private int _SetTime() - { - decodeKeyToString(); - return Convert.ToInt32(_res.Substring(17, 3)); - } - /// - /// Returns the actual amount of days that were set when the key was generated. - /// - public int SetTime - { - get { return _SetTime(); } - } - private System.DateTime _ExpireDate() - { - decodeKeyToString(); - System.DateTime _date = new System.DateTime(); - _date = CreationDate; - return _date.AddDays(SetTime); - } - /// - /// Returns the date when the key is to be expired. - /// - public System.DateTime ExpireDate - { - get { return _ExpireDate(); } - } - private bool[] _Features() - { - decodeKeyToString(); - return _a.intToBoolean(Convert.ToInt32(_res.Substring(20, 3))); - } - /// - /// Returns all 8 features in a boolean array - /// - public bool[] Features - { - //we already have defined Features in the BaseConfiguration class. - //Here we only change it to Read Only. - get { return _Features(); } - } - - /// - /// If the current machine's machine code is equal to the one that this key is designed for, return true. - /// - /// - /// - /// - public bool IsOnRightMachine - { - get - { - int decodedMachineCode = Convert.ToInt32(_res.Substring(23, 5)); - - return decodedMachineCode == MachineCode; - } - } - } - #endregion - - #region "T H E C O R E O F S K G L" - +{ internal class methods : SerialKeyConfiguration { - //The construction of the key protected internal string _encrypt(int _days, bool[] _tfg, string _secretPhase, int ID, System.DateTime _creationDate) { @@ -622,16 +51,15 @@ protected internal string _encrypt(int _days, bool[] _tfg, string _secretPhase, if (string.IsNullOrEmpty(_secretPhase) | _secretPhase == null) { // if not password is set, return an unencrypted key - return base10ToBase26((getEightByteHash(result.ToString()) +result.ToString())); + return base10ToBase26((getEightByteHash(result.ToString()) + result.ToString())); } else { // if password is set, return an encrypted - return base10ToBase26((getEightByteHash(result.ToString()) + _encText(result.ToString(), _secretPhase) )); - } - - + return base10ToBase26((getEightByteHash(result.ToString()) + _encText(result.ToString(), _secretPhase))); + } } + protected internal string _decrypt(string _key, string _secretPhase) { if (string.IsNullOrEmpty(_secretPhase) | _secretPhase == null) @@ -670,6 +98,7 @@ protected internal int booleanToInt(bool[] _booleanArray) } return _aVector; } + protected internal bool[] intToBoolean(int _num) { //In this function we are converting an integer (created with privious function) to a binary array @@ -685,6 +114,7 @@ protected internal bool[] intToBoolean(int _num) } return _cReturn; } + protected internal string _encText(string _inputPhase, string _secretPhase) { //in this class we are encrypting the integer array. @@ -697,6 +127,7 @@ protected internal string _encText(string _inputPhase, string _secretPhase) return _res; } + protected internal string _decText(string _encryptedPhase, string _secretPhase) { //in this class we are decrypting the text encrypted with the function above. @@ -709,6 +140,7 @@ protected internal string _decText(string _encryptedPhase, string _secretPhase) return _res; } + protected internal string Return_Lenght(string Number, int Lenght) { // This function create 3 lenght char ex: 39 to 039 @@ -723,6 +155,7 @@ protected internal string Return_Lenght(string Number, int Lenght) //Return Number } + protected internal int modulo(int _num, int _base) { // canged return type to integer. @@ -731,6 +164,7 @@ protected internal int modulo(int _num, int _base) //number in the result! return _num - _base * Convert.ToInt32(Math.Floor((decimal)_num / (decimal)_base)); } + protected internal string twentyfiveByteHash(string s) { int amountOfBlocks = s.Length / 5; @@ -753,6 +187,7 @@ protected internal string twentyfiveByteHash(string s) } return string.Join("", preHash); } + protected internal int getEightByteHash(string s, int MUST_BE_LESS_THAN = 1000000000) { //This function generates a eight byte hash @@ -795,6 +230,7 @@ protected internal int getEightByteHash(string s, int MUST_BE_LESS_THAN = 100000 return result; } + protected internal string base10ToBase26(string s) { // This method is converting a base 10 number to base 26 number. @@ -832,6 +268,7 @@ protected internal string base10ToBase26(string s) return returnNum; } + protected internal string base26ToBase10(string s) { // This function will convert a number that has been generated @@ -883,9 +320,4 @@ protected internal BigInteger powof(int x, int y) } } } - - - #endregion - -#endregion } \ No newline at end of file diff --git a/SKGL 2.0.5.2/SKGL.csproj b/SKGL 2.0.5.2/SKGL.csproj index 2fdcf66..0808aef 100644 --- a/SKGL 2.0.5.2/SKGL.csproj +++ b/SKGL 2.0.5.2/SKGL.csproj @@ -51,8 +51,12 @@ + + + + diff --git a/SKGL 2.0.5.2/SerialKeyConfiguration.cs b/SKGL 2.0.5.2/SerialKeyConfiguration.cs new file mode 100644 index 0000000..dfdce1b --- /dev/null +++ b/SKGL 2.0.5.2/SerialKeyConfiguration.cs @@ -0,0 +1,29 @@ +using SKGL.Base; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace SKGL +{ + public class SerialKeyConfiguration : BaseConfiguration + { + private bool[] _Features = new bool[8]; //when define an array with no initial value, .Net Framework will set primitive array values as false + + public virtual bool[] Features + { + //will be changed in validating class. + get { return _Features; } + set { _Features = value; } + } + + private bool _addSplitChar = true; + public bool addSplitChar + { + get { return _addSplitChar; } + set { _addSplitChar = value; } + } + + + } +} diff --git a/SKGL 2.0.5.2/Validate.cs b/SKGL 2.0.5.2/Validate.cs new file mode 100644 index 0000000..b6854f4 --- /dev/null +++ b/SKGL 2.0.5.2/Validate.cs @@ -0,0 +1,252 @@ +using SKGL.Base; +using System; + +namespace SKGL +{ + public class Validate : BaseConfiguration + { + //this class have to be inherited becuase of the key which is shared with both encryption/decryption classes. + + SerialKeyConfiguration skc = new SerialKeyConfiguration(); + methods _a = new methods(); + public Validate() + { + // No overloads works with Sub New + } + + public Validate(SerialKeyConfiguration _serialKeyConfiguration) + { + skc = _serialKeyConfiguration; + } + + /// + /// Enter a key here before validating. + /// + public string Key + { + //re-defining the Key + get { return _key; } + set + { + _res = ""; + _key = value; + } + } + + private string _secretPhase = ""; + /// + /// If the key has been encrypted, when it was generated, please set the same secretPhase here. + /// + public string secretPhase + { + get { return _secretPhase; } + set + { + if (value != _secretPhase) + { + _secretPhase = _a.twentyfiveByteHash(value); + } + } + } + + + private string _res = ""; + + private void decodeKeyToString() + { + // checking if the key already have been decoded. + if (string.IsNullOrEmpty(_res) | _res == null) + { + + string _stageOne = ""; + + Key = Key.Replace("-", ""); + + //if the admBlock has been changed, the getMixChars will be executed. + + + _stageOne = Key; + + + _stageOne = Key; + + // _stageTwo = _a._decode(_stageOne) + + if (!string.IsNullOrEmpty(secretPhase) | secretPhase != null) + { + //if no value "secretPhase" given, the code will directly decrypt without using somekind of encryption + //if some kind of value is assigned to the variable "secretPhase", the code will execute it FIRST. + //the secretPhase shall only consist of digits! + System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("^\\d$"); + //cheking the string + if (reg.IsMatch(secretPhase)) + { + //throwing new exception if the string contains non-numrical letters. + throw new ArgumentException("The secretPhase consist of non-numerical letters."); + } + } + _res = _a._decrypt(_stageOne, secretPhase); + + + } + } + private bool _IsValid() + { + //Dim _a As New methods ' is only here to provide the geteighthashcode method + try + { + if (Key.Contains("-")) + { + if (Key.Length != 23) + { + return false; + } + } + else + { + if (Key.Length != 20) + { + return false; + } + } + decodeKeyToString(); + + string _decodedHash = _res.Substring(0, 9); + string _calculatedHash = _a.getEightByteHash(_res.Substring(9, 19)).ToString().Substring(0, 9); + // changed Math.Abs(_res.Substring(0, 17).GetHashCode).ToString.Substring(0, 8) + + //When the hashcode is calculated, it cannot be taken for sure, + //that the same hash value will be generated. + //learn more about this issue: http://msdn.microsoft.com/en-us/library/system.object.gethashcode.aspx + if (_decodedHash == _calculatedHash) + { + return true; + } + else + { + return false; + } + } + catch (Exception ex) + { + //if something goes wrong, for example, when decrypting, + //this function will return false, so that user knows that it is unvalid. + //if the key is valid, there won't be any errors. + return false; + } + } + + /// + /// Checks whether the key has been modified or not. If the key has been modified - returns false; if the key has not been modified - returns true. + /// + public bool IsValid + { + get { return _IsValid(); } + } + private bool _IsExpired() + { + if (DaysLeft > 0) + { + return false; + } + else + { + return true; + } + } + /// + /// If the key has expired - returns true; if the key has not expired - returns false. + /// + public bool IsExpired + { + get { return _IsExpired(); } + } + private System.DateTime _CreationDay() + { + decodeKeyToString(); + System.DateTime _date = new System.DateTime(); + _date = new DateTime(Convert.ToInt32(_res.Substring(9, 4)), Convert.ToInt32(_res.Substring(13, 2)), Convert.ToInt32(_res.Substring(15, 2))); + + return _date; + } + /// + /// Returns the creation date of the key. + /// + public System.DateTime CreationDate + { + get { return _CreationDay(); } + } + private int _DaysLeft() + { + decodeKeyToString(); + int _setDays = SetTime; + return Convert.ToInt32(((TimeSpan)(ExpireDate - DateTime.Today)).TotalDays); //or viseversa + } + /// + /// Returns the amount of days the key will be valid. + /// + public int DaysLeft + { + get { return _DaysLeft(); } + } + + private int _SetTime() + { + decodeKeyToString(); + return Convert.ToInt32(_res.Substring(17, 3)); + } + + /// + /// Returns the actual amount of days that were set when the key was generated. + /// + public int SetTime + { + get { return _SetTime(); } + } + + private System.DateTime _ExpireDate() + { + decodeKeyToString(); + System.DateTime _date = new System.DateTime(); + _date = CreationDate; + return _date.AddDays(SetTime); + } + /// + /// Returns the date when the key is to be expired. + /// + public System.DateTime ExpireDate + { + get { return _ExpireDate(); } + } + private bool[] _Features() + { + decodeKeyToString(); + return _a.intToBoolean(Convert.ToInt32(_res.Substring(20, 3))); + } + /// + /// Returns all 8 features in a boolean array + /// + public bool[] Features + { + //we already have defined Features in the BaseConfiguration class. + //Here we only change it to Read Only. + get { return _Features(); } + } + + /// + /// If the current machine's machine code is equal to the one that this key is designed for, return true. + /// + /// + /// + /// + public bool IsOnRightMachine + { + get + { + int decodedMachineCode = Convert.ToInt32(_res.Substring(23, 5)); + + return decodedMachineCode == MachineCode; + } + } + } +} From ac97e0b3a658e8959a6a5df86726738fc16c4b59 Mon Sep 17 00:00:00 2001 From: Ertugrul KARA Date: Tue, 13 Nov 2018 14:19:18 +0300 Subject: [PATCH 3/5] gitignore is now working, ignored build results, test results --- SKGL 2.0.5.2/SKGL 2.0.5.2.csproj.vspscc | 10 ---------- SKGL 2.0.5.2/SKGL.csproj | 5 +++-- SKGL 2.0.5.2/bin/Debug/SKGL.dll | Bin 15872 -> 0 bytes SKGL 2.0.5.2/bin/Debug/SKGL.pdb | Bin 38400 -> 0 bytes SKGL 2.0.5.2/certificate.pdf.snk | Bin 0 -> 596 bytes SKGL 2.0.5.2/certificate.pfx | Bin 1764 -> 0 bytes ...signTimeResolveAssemblyReferencesInput.cache | Bin 6772 -> 0 bytes .../obj/Debug/SKGL.csproj.FileListAbsolute.txt | 5 ----- .../SKGL.csprojResolveAssemblyReference.cache | Bin 2057 -> 0 bytes SKGL 2.0.5.2/obj/Debug/SKGL.dll | Bin 15872 -> 0 bytes SKGL 2.0.5.2/obj/Debug/SKGL.pdb | Bin 38400 -> 0 bytes SKGL Plus/SKGL Plus.csproj.vspscc | 10 ---------- SKGL Plus/bin/Debug/SKGL Plus.dll | Bin 16384 -> 0 bytes SKGL Plus/bin/Debug/SKGL Plus.pdb | Bin 42496 -> 0 bytes ...signTimeResolveAssemblyReferencesInput.cache | Bin 6655 -> 0 bytes .../Debug/SKGL Plus.csproj.FileListAbsolute.txt | 5 ----- ...GL Plus.csprojResolveAssemblyReference.cache | Bin 2057 -> 0 bytes SKGL Plus/obj/Debug/SKGL Plus.dll | Bin 16384 -> 0 bytes SKGL Plus/obj/Debug/SKGL Plus.pdb | Bin 42496 -> 0 bytes SKGL.v12.suo | Bin 28672 -> 0 bytes SKGLTest/SKGLTest.csproj.vspscc | 10 ---------- SKGLTest/bin/Debug/SKGL Plus.dll | Bin 16384 -> 0 bytes SKGLTest/bin/Debug/SKGL Plus.pdb | Bin 42496 -> 0 bytes SKGLTest/bin/Debug/SKGL.dll | Bin 15872 -> 0 bytes SKGLTest/bin/Debug/SKGL.pdb | Bin 38400 -> 0 bytes SKGLTest/bin/Debug/SKGLTest.dll | Bin 10752 -> 0 bytes SKGLTest/bin/Debug/SKGLTest.pdb | Bin 24064 -> 0 bytes ...signTimeResolveAssemblyReferencesInput.cache | Bin 6370 -> 0 bytes .../Debug/SKGLTest.csproj.FileListAbsolute.txt | 9 --------- ...KGLTest.csprojResolveAssemblyReference.cache | Bin 17343 -> 0 bytes SKGLTest/obj/Debug/SKGLTest.dll | Bin 10752 -> 0 bytes SKGLTest/obj/Debug/SKGLTest.pdb | Bin 24064 -> 0 bytes SpeedComparsison/SpeedComparsison.csproj.vspscc | 10 ---------- SpeedComparsison/bin/Debug/SKGL.dll | Bin 15872 -> 0 bytes SpeedComparsison/bin/Debug/SKGL.pdb | Bin 38400 -> 0 bytes SpeedComparsison/bin/Debug/SpeedComparsison.dll | Bin 4608 -> 0 bytes SpeedComparsison/bin/Debug/SpeedComparsison.pdb | Bin 11776 -> 0 bytes ...signTimeResolveAssemblyReferencesInput.cache | Bin 6212 -> 0 bytes ...SpeedComparsison.csproj.FileListAbsolute.txt | 7 ------- ...arsison.csprojResolveAssemblyReference.cache | Bin 13161 -> 0 bytes SpeedComparsison/obj/Debug/SpeedComparsison.dll | Bin 4608 -> 0 bytes SpeedComparsison/obj/Debug/SpeedComparsison.pdb | Bin 11776 -> 0 bytes 42 files changed, 3 insertions(+), 68 deletions(-) delete mode 100644 SKGL 2.0.5.2/SKGL 2.0.5.2.csproj.vspscc delete mode 100644 SKGL 2.0.5.2/bin/Debug/SKGL.dll delete mode 100644 SKGL 2.0.5.2/bin/Debug/SKGL.pdb create mode 100644 SKGL 2.0.5.2/certificate.pdf.snk delete mode 100644 SKGL 2.0.5.2/certificate.pfx delete mode 100644 SKGL 2.0.5.2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 SKGL 2.0.5.2/obj/Debug/SKGL.csproj.FileListAbsolute.txt delete mode 100644 SKGL 2.0.5.2/obj/Debug/SKGL.csprojResolveAssemblyReference.cache delete mode 100644 SKGL 2.0.5.2/obj/Debug/SKGL.dll delete mode 100644 SKGL 2.0.5.2/obj/Debug/SKGL.pdb delete mode 100644 SKGL Plus/SKGL Plus.csproj.vspscc delete mode 100644 SKGL Plus/bin/Debug/SKGL Plus.dll delete mode 100644 SKGL Plus/bin/Debug/SKGL Plus.pdb delete mode 100644 SKGL Plus/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 SKGL Plus/obj/Debug/SKGL Plus.csproj.FileListAbsolute.txt delete mode 100644 SKGL Plus/obj/Debug/SKGL Plus.csprojResolveAssemblyReference.cache delete mode 100644 SKGL Plus/obj/Debug/SKGL Plus.dll delete mode 100644 SKGL Plus/obj/Debug/SKGL Plus.pdb delete mode 100644 SKGL.v12.suo delete mode 100644 SKGLTest/SKGLTest.csproj.vspscc delete mode 100644 SKGLTest/bin/Debug/SKGL Plus.dll delete mode 100644 SKGLTest/bin/Debug/SKGL Plus.pdb delete mode 100644 SKGLTest/bin/Debug/SKGL.dll delete mode 100644 SKGLTest/bin/Debug/SKGL.pdb delete mode 100644 SKGLTest/bin/Debug/SKGLTest.dll delete mode 100644 SKGLTest/bin/Debug/SKGLTest.pdb delete mode 100644 SKGLTest/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 SKGLTest/obj/Debug/SKGLTest.csproj.FileListAbsolute.txt delete mode 100644 SKGLTest/obj/Debug/SKGLTest.csprojResolveAssemblyReference.cache delete mode 100644 SKGLTest/obj/Debug/SKGLTest.dll delete mode 100644 SKGLTest/obj/Debug/SKGLTest.pdb delete mode 100644 SpeedComparsison/SpeedComparsison.csproj.vspscc delete mode 100644 SpeedComparsison/bin/Debug/SKGL.dll delete mode 100644 SpeedComparsison/bin/Debug/SKGL.pdb delete mode 100644 SpeedComparsison/bin/Debug/SpeedComparsison.dll delete mode 100644 SpeedComparsison/bin/Debug/SpeedComparsison.pdb delete mode 100644 SpeedComparsison/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100644 SpeedComparsison/obj/Debug/SpeedComparsison.csproj.FileListAbsolute.txt delete mode 100644 SpeedComparsison/obj/Debug/SpeedComparsison.csprojResolveAssemblyReference.cache delete mode 100644 SpeedComparsison/obj/Debug/SpeedComparsison.dll delete mode 100644 SpeedComparsison/obj/Debug/SpeedComparsison.pdb diff --git a/SKGL 2.0.5.2/SKGL 2.0.5.2.csproj.vspscc b/SKGL 2.0.5.2/SKGL 2.0.5.2.csproj.vspscc deleted file mode 100644 index b6d3289..0000000 --- a/SKGL 2.0.5.2/SKGL 2.0.5.2.csproj.vspscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" -} diff --git a/SKGL 2.0.5.2/SKGL.csproj b/SKGL 2.0.5.2/SKGL.csproj index 0808aef..3937156 100644 --- a/SKGL 2.0.5.2/SKGL.csproj +++ b/SKGL 2.0.5.2/SKGL.csproj @@ -34,10 +34,10 @@ 4 - true + false - certificate.pfx + certificate.pdf.snk @@ -59,6 +59,7 @@ + diff --git a/SKGL 2.0.5.2/bin/Debug/SKGL.dll b/SKGL 2.0.5.2/bin/Debug/SKGL.dll deleted file mode 100644 index 6d313abdffdae2e63d3e1678f8687c004586b1fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 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 diff --git a/SKGL 2.0.5.2/certificate.pdf.snk b/SKGL 2.0.5.2/certificate.pdf.snk new file mode 100644 index 0000000000000000000000000000000000000000..efa8985d435e467982db15c2f4e204adc03e1cca GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50097*9MQWq5!~p;i3`p|^be63+x%7fSfxS> zyu_4tGbR8;c%_Qd&k>m(WKm-3?b#H?uo5;Wa{q$JanCu{Fq(qRi1uNRs7(wFQ`fkQ z_wIYDkU{!dQ40+Ks_qnQC4YI_C4^{K;}Nhl;%7CMPJs?JPN#wBn2^Vu0<|dB$z!$AEL>EbXVY$`ALhLg06`Bo|LPG-}mjzOwMcl1FgeKXxHUS}XYNvMzw zq)`P`di+RdQi+RTy{_sa@2Dzc;jRC50f(6;ogrVV7v}cWf&?NxJTj3bE<^EE;;x0g zES4E`QQBS;c)C#`oX{8$>@(CqgEdh-ntMJ5$GBQj4G+8*EJ)tnKn~2x)Wq0I&)Re+ z0y+s&79HI*(CKebz=Ies6+Mz0d|GFC8y}0=tyG!tsj&_1kyvDe&Yl! i4P!vOtYI69E%P)B%I1~Rg+mYbc~lmv%C(Xkr-TP7Y8fN| literal 0 HcmV?d00001 diff --git a/SKGL 2.0.5.2/certificate.pfx b/SKGL 2.0.5.2/certificate.pfx deleted file mode 100644 index 56073ca5231a7b604fede4e2159077cbd7f79a9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1764 zcmY+Dc|6g9ga0!>r`99JfGb%_kY>9Ur)AiyEYez&I*$6 zoHdqNOc0Gon~UhQcC^?}2rp0Z%~NkU^0kuu3<*o@H9`t5i(in7q`vOeD!tq&u9LTY zOS=pvx6TO49&&ejF=x|^nP4VLFALKJY~9jWt|LtOM9&4Hyst>+P=8#x5!H119BZIs zCh5*4n!=8@dot~A#OlggAI_Q_YV4S11rDUVb}NsZ;WR1X-pV|q>;354U(-xX^f?^w zVnUC1WGD4}+qT2CWtfenfC+ZJL89cB-k61-XZ+WM-Q`nq_7*w?=B*h|OA9BWquBj{ z4vH#G{`JKOJ!^Q5>+C-BtD{a_E9Y#Eg_Y6omHt~|@xnI_KM=UYc=ge9lQp3|mv|4N0m!dwIlo z)IR5CNfQot(cq4i+5|5r9eX7DMp;>Y5y!u)CYn(b-Z4DQ*hnpIo6M|yZK&%LBgIIv zO}ZCO*j%!ero4Z`Z#bbnujI4Y2*}XhdCokqxC}UVT_>eQ3z~#M`*Fouez(yzu&Ybi z)toA?k_Oh*^?-_IjokIFrH&Q;MU}uyCqLJ4Ydpy9QFK^UEx>=XfoR#FkmeKy30``c zBV^fszPY%Z9tweg0RTYu`xoN%oRw(68Gs5{LuCvY0=9rYU;=1EY740q(MAEoLvwS zz+nI+{C{^~|A{N=V_c63wG^lpdpaNEngPNyZhG8X!?sSQ)DQgH8lX|0qR<`RNy!Q- zH~_yb&3S#Kd{JO#Bw=cv)Hk2`;_U(4X$ntpVbivM)t&Cw!^%ZU-rAd$v>fbo3Kgr` zMAyG)F&vS2$Nuah)9S2cDY!>p#8_1?)-quoS+#AiWJl$1^8N0+1cy=NNIFi6;Z69U z(|TcG!m9kV8gV6$!w91$21owPFG(C~oYG%Ljy!Ggdphw;lac5KKGVRX?!$8prW`?Y zDQ(-KY{X)nw#I&Sx8!K<;RI#)Lw4?HApQMZ^g`#P8@4$`ZE=-%)%E&su6GxlXR51C zJ;5a))T*==HRDS6v>704bV4I`GIvqGHCk>+WcFRlA$s7p{R23zG&KDg$r8>zc7b*V z>oT}v9QH|3w}!X5$;;y*<2PypbdcYT=EwRcn20jeUrd)7CS!gYDmh_~Wcu+Kr zuoD3H!wo$LIh=i>y3u*_RLo8t;dt;foyw|AxM+N3Hoe!U^>`)yO}FwLB5k3<3tL|? z9M3CWdKh9)wlo&>#&vvcBNfA*6()W;Mf`l(d4wWaeRQQ_sBJrEUU@eZigW zGPi&)&mt8`KDDL!x~NjT2lh8`Aw9e(UAWcScK&`8&!_G~p_y#f?GZltIQa+}jY5(n z#NdY!`1y57M6z?`q1)9PIrHJPckTwgG6?*zKsV2$m){GPad^e%!=EO<_lo}bf&T!u CpXAs8 diff --git a/SKGL 2.0.5.2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SKGL 2.0.5.2/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 3214134057fc9550b5a2612b12c59f5e7e5750b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6772 zcmeHMZByGu5VpZ67($9^N(eNG)21&;UDXC0AT#-p*g%*7VQdd=2Ybj_UYQGeaqmuG zm*Kbc7j*g)+g;g~c?;!(HNywX+$wq0i~TS#!zEWNO(oTVNvux%?TVw;s1@gty@+5N_jF!5R$^dVz@zr{O925S1S? z%W{vQ_C`vut5$2ZslXwx74!c7o zR>iUV=f>7ttA^`+Or0er>YxI(qF0rmw$X@u#_NtNAP*+PP;59-p?^K^+J;|TKdEi5 zJ@o;<+Qg$v{b#k37OqpO3vTAQ07JQggPd&C6ca^Y!Z_Gr>OfA`FLaDIgll4iXjM}J z>Rc+(>M6u=VG1aOvuNmSFwUS%Ul`hQ9exPn>DAqNE*lnW5#U9|PNL1V6?cSdfRwIy zgWhw6Yr>T4s6egYIf~oRQMqWT9VI#ANhp8`0vt58CR`hhenLz4M7P%ui#DVUYg!~S zjB+R%jcWKs85#O(q}Y-QY)ntwUqeyC>FeNt;D)}5!TOll+q-58o`_v$d9cH{_&6U- zEh@pCdMas4!xa{<_RiSNkJ!=@%Np62nU#e_NH4EcQrG!$OI-~k4we3f^_H89Mh7Vx zMivF9DGcMcJg546fCdQ~Mh*=Uv|kU-N|bnTd>F-8JVwnC5=aLk@jEE+XOu*o#2ATj z6l2<5lo4$L#oLoYhdI3}B9T630?Gl|E$iE>rGP`Gj_?Ve>Jrcn*<5X&YWL92@3~jy zb*_r8Ck&w0JFi+UzF*(;MRFd=cUGS-yVXzSJXF0pN{Jk^ggmGK(zT8P(%U0Fy1|SC zh<`!8PNJAS?@pK7lUrH>$0un#8TgxA)TXdE=8u0#En9L+yN|6g>eCm}3z?PpSNL~i zEI~1(uQp9WKjw~I(;i?urq?V>oAF!Fgan0|;-?X}*KfA$(ue#9T{V?9i#pkx=@=js zH@Sf%R&SV1Z4OoIsERbOj&B1=|K%Y0V{`fC^KuZgWM_MjK%d#hASCBEv`kUxP1AG5 z111{&a=%8f{Sd&qtkDN~gdo)rKmt-Lz{h!vI4V4xJX1_3Q3Ta{xAT#ogu6l?nX)s9 zIF;~LNDxmE;vhVTE#|N~*x)EXaNi)B86MiUXVYtt^s&B0EEXQtZ?@&bJPUV81hdJV zKL{&EPk{k<8E}`rzNPn@`uk7YeXNeya%5lfKVfwLs9mnZk$+;rUHo$OVo;i(Lgi{j(>ft1FzX zQ!Rz#{UG^2qn(M90y`$&NfppjO~b7*GbuEW0%M$!&4Qz*D*e>247@RHV-U%PwX$%p?4l zx}XX64k!L5@e~&e(|!sq9v%__qKb>QxDUI6A5kAf0l(IA*It#eD*K|w;ygl5LlsB1e)4$@{npE#E@>c0=xl0Nr1R)_ z?b+kr2M9nwxt)!@v)R#8x86G~Pk`$)mPc<$dO9CN zmdF&e%%}8Zu#=*e7^EO^YOLGp4v9ES`oTRKrXV)mo;Hcd078gVqE^ys2Pvq9(&K{B zej9$G2&P~#iNkV5#(jAk8&Y7gU mCJCK2N%u?=I&YF3lY~2Cl9o*p?wm=wZ<26lP0|B{RQd~ci*3*V diff --git a/SKGL 2.0.5.2/obj/Debug/SKGL.dll b/SKGL 2.0.5.2/obj/Debug/SKGL.dll deleted file mode 100644 index 6d313abdffdae2e63d3e1678f8687c004586b1fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 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 diff --git a/SKGL Plus/SKGL Plus.csproj.vspscc b/SKGL Plus/SKGL Plus.csproj.vspscc deleted file mode 100644 index b6d3289..0000000 --- a/SKGL Plus/SKGL Plus.csproj.vspscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" -} diff --git a/SKGL Plus/bin/Debug/SKGL Plus.dll b/SKGL Plus/bin/Debug/SKGL Plus.dll deleted file mode 100644 index 2d3a0e1e80ec5efe7c55e90b35b3fffa72f91072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 AMgRZ+ diff --git a/SKGL Plus/bin/Debug/SKGL Plus.pdb b/SKGL Plus/bin/Debug/SKGL Plus.pdb deleted file mode 100644 index 2849563c58ee1187456c5c27b9114d5b5acf6305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42496 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 a26frf<$*2_ba|l516>~I^1uoA!2bhI8UYdj diff --git a/SKGL Plus/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SKGL Plus/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index fe953c4e53b14679db3f9d79a5103b88877d90f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6655 zcmeHMQBNC35VpZwFoYD-ln`i=OPi`m>YQ+a0Fih|Fc1_#$hK%DY?1Zd*lf7Fb$9mw z7x7#A3#$IacIIrK2@ui;pTvXD@_3ouoo{w-cJI3(kxV2K|Kdfzbln|5;cRnT3MFdV z+T$u60~A16KzUR(uGwWNy~n4XQ4;KR~l2 zj=*23&d${qYKyg8&RLjcb8Ltpm%f1XF5s?1c$>ZkDH^{?)@XpV3QTVLjXsuGDgX?`v$`X@x(9yJFP*tFJ(1?1*>%NeXhZ@6BZ2C&0e_iidhF{)1sAaA- z^Z~!##G@TU!{ckGcK*8;0PH*kf)0yNt_^zeYog zT5`XhH9chu>GEoKkNy8Gwz$X^?1k64<+*v7U0SYWZ}Q`ox*A6uD!mQsEjO1;_ER*D zEQ)qh9L8^XPW5;L^%FFX9O@@%uO6J0B=O+%Ac~Q6ikd?tkPal$cTnKZFo`sY5fY;) zMvS{C6UG>dcV~q*b9z%mB7MRnlq0fRwszJ^5r@nk;}bsHA)sxtxpsPP+(SEit8dC1 zTo*+kZJ^fspjs||*w_k%x$6e1EUKT%d8h_;lnM!E2}w`^lyHwD#@l5)md)%#NPk0) zj-#0V+?NiqC!dTA_K#D)898gt8xyEah5g@B%TwGn?qh3&bk^MLTy8o29sZpd$xs04 zYfO@`PPp$m#sh4pEXQ??sjvm7kf9h;91SA&bzC!&vO02eGoe z2)g^G6(T>1cZDG`rORW)sl>NJf_Q=uhw(vdGoRJL17C-MGZC#8AKFgf(MyR6v7RCp zix2B}&kbRIh<8Z@v&H>C2rETra-T``nM6TLDelI*$h9D66u-g9455ss>J zo49k%jTfk&J}X^cZ)~0$FR{NDl=~O7Gj>*BC&W9c9(itLQS}NV`!yC`<$jxmXNX*f lL3@RbIPOYFuhI6M@D>mhU4wu3kCU(c7ovZhMAhNS=zmT9o~Hl+ diff --git a/SKGL Plus/obj/Debug/SKGL Plus.csproj.FileListAbsolute.txt b/SKGL Plus/obj/Debug/SKGL Plus.csproj.FileListAbsolute.txt deleted file mode 100644 index 6805ed0..0000000 --- a/SKGL Plus/obj/Debug/SKGL Plus.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,5 +0,0 @@ -C:\Users\Artem Los\Documents\GitHub\SKGL\SKGL Plus\bin\Debug\SKGL Plus.dll -C:\Users\Artem Los\Documents\GitHub\SKGL\SKGL Plus\bin\Debug\SKGL Plus.pdb -C:\Users\Artem Los\Documents\GitHub\SKGL\SKGL Plus\obj\Debug\SKGL Plus.csprojResolveAssemblyReference.cache -C:\Users\Artem Los\Documents\GitHub\SKGL\SKGL Plus\obj\Debug\SKGL Plus.dll -C:\Users\Artem Los\Documents\GitHub\SKGL\SKGL Plus\obj\Debug\SKGL Plus.pdb diff --git a/SKGL Plus/obj/Debug/SKGL Plus.csprojResolveAssemblyReference.cache b/SKGL Plus/obj/Debug/SKGL Plus.csprojResolveAssemblyReference.cache deleted file mode 100644 index ec582d2fc1468beacfae500fe1d6fa1ac62dcfb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2057 zcmcIk-EI;=7~Mjlut3HCzp7jHLQ}Eb7*GbuEW0%M$!&4Qz*D*e>247@RHV-U%PwX$%p?4l zx}XX64k!L5@e~&e(|!sq9v%__qKb>QxDUI6A5kAf0l(IA*It#eD*K|w;ygl5LlsB1e)4$@{npE#E@>c0=xl0Nr1R)_ z?b+kr2M9nwxt)!@v)R#8x86G~Pk`$)mPc<$dO9CN zmdF&e%%}8Zu#=*e7^EO^YOLGp4v9ES`oTRKrXV)mo;Hcd078gVqE^ys2Pvq9(&K{B zej9$G2&P~#iNkV5#(jAk8&Y7gU mCJCK2N%u?=I&YF3lY~2Cl9o*p?wm=wZ<26lP0|B{RQd~ci*3*V diff --git a/SKGL Plus/obj/Debug/SKGL Plus.dll b/SKGL Plus/obj/Debug/SKGL Plus.dll deleted file mode 100644 index 2d3a0e1e80ec5efe7c55e90b35b3fffa72f91072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeHO4R9P+k?xt@otYhJ*Ivn4$v?8zu}#*NwMe$(*ol)^mSkIrB|Dbv*p9jNYIh`U zvf5E*SGJX4A{U8|9Ck=5xw`;KFo7!q6d{lR2|ty~9poq=M<^gr6okN~4meW$90#Nz zIQMnW%mw1f8D% zZMlV6`Cs+zp-jTl1G!go;V{O`hM4_K6V-!O5ABxBu6s2+L1fg_8^Cwe;Hk28tPK2v z8vsxzWA*d~CQkxdrJRzJ1tz*3Mu7);(Ov6_jwOf`Ccc5Eu|p9Z&^|`$jd%skHqutViPXSx##R$C54_7N#wdva zX~IH_JA$+uJa9vdN>E-i9iS7X7?D}$AW|mkjbsCmWFtU*X#rq_lIP*osK*^@kixN`9S7NNV$ci#nMTw8Mk8j#^xN`hgN@->xc%v{y^!mSaM)giLel|zFsHMxQXuJ(Ng-Pm_&&~q+bt-EboffEid49`pRM@W_jF*N4AX)Z6s(LI|8&8bg@Uk ztw^qdLTijb5(6~ZHH9!|jC#Dio3YyjWpunx<`l2Kz%#)L;F#Ie_RAlU}7 z!B8|9XK#CRr?EpPggHSj5*jF?~&V>O;Yloty=Car+AU*>|ayc`|NN7P_D1KHARaHv+e5+w^_DD1czj4sn zh%rxKC>RYzH5;DQ>Zonwt8l6}a%9FuzWrwQOifEqE)1@Dy`uMH!8Wg^z{(J++yn>b?Mx+Ze=35nTN}ZyJU%EN>c`Ty)n9tlNGO)1fjW zY4z{kNHgpS+>OlJbMG5_JX;-?-YQ#2W!`x6k=3fq$4g;he?D@>x#nXl&qp4YHy>w> z%Uhd*^cZA8MV_0ifkdWTL|Af6)*Bb!%`O%5n5vq@w&S`;DE2zIBZ=9oVb$U)v+}}p zt%-ETs*zrAw6Cd&^EzEkGJ_xIsGb?+-e3^D!iG*Yv6zfwaYu;mg^Cz1cG8-Ga7+ec z!S*TWhV2h3${^#dVH;_HX}T72iLGJx&2z$R4IdDW1byW_m$=(Zs3DZR5LJHTI!#Y* zVBG5?L`{)r7uR|-9(lHoiCR6O2s2};Bi^TYrMvSk(y&Y@{`x5XRFl}9-35==dER5- zH~1!bKIoX{=&Vj}4^iA~Lw{~oQC(v_8EEFq&}bAg;8>P{-JWMDY&$>=boM-~WJ-f) zlGgAd8F2C<49PP{qS>rNe3x83hzG zguAM{Dn5+5{4fzm&>FmC8%Sb{H|rbJ6x1+dPZNexN7vO{;w=E z`5I&{tMOV@W`Jh*9b5SN`bHWsYdk6qVLWrM|n(zGUbTdcz* zkGs`Ol?2xVVPXot#5O=5cDXbC7{d$wTSe!zz0c%#1NFB8J?OyFd z7jN?MMK0d#ae5s2s@o}u8(qT)50AC|(&^&!w>)b*5XuX<5 zKA?HpwMNt=_V@~OROJM?g3gmf-ba&{BS1X=glGk9fou`yDhM#md785!ge+nU5Lwge z8Wd*-Q@TK@H|D9%fRDLn3PTMgu}El*!G_?Rx_KdIXcqfC#W^^eq|a?=%;D1FiTN0n z2HC8d*v<=4#AuMVLoUv%F>Fx? z-3|)qw@1QFDYY%3VX2g7OW?M=exT_U7kd4MxK4PipmTWbl3x zqG2>cYJr@-IoZQac$32EsOnIEzQ!YM7vQj~%TY7jB+Hp|nBBx%b$cMr+2%bIZrUFS zw^UQ~uNhu$$a{rOIrN8&2J@^JCk7rz7xLzS?#h$igQ^~sJ%o2bt)^mst0^Q2aIw4T z4NTaZ4oI&U;K$qn{$Kk$@Vfg85@v|I=LCX*B!&oIGE8n`00)}M9RLRpxT_f3#Gr4Z z4N@=oK*q878dGc9e;O2}&ZC@FCD&>tEJ%TBs5bhE)BUvZW(cWp`-zi-69T-Z8*0E< ze9&D;&)J;QeM4(@Ehv3`MaNY~^8vVqUyBdAvOT0GgOfQ^qloxbPht+3kv2CkPXY~o0`^Y4)beCE@R^M0Vfa*XPc1RyWlL+ z{!L9=C=9K2-~jtP#)`pf-;%En8rNV(xWUJ~8UprUJyk z)RI``+Uf$y0bupVLsj`*k{s)+o5Yud((SsG)YCs+MqD}2SAhJK`n^!hUSMf+8gQy zEC{?+-~$4m5coZTzZE!NW6mAgDovw90~*4#7?uFVbf8xx>T4$`)WlE+$ff zG(7`*x`G``?d7z=O1kdOYltfk$xCOJYOix-SJDqc!x1hy4_FDLRF#C$9TFus72JoER8e z7JQsK=(u2REO8@+F5ul~25g^0=?%`GuhIY@W(Hu8t`VMIK$Wf&I@boJHZ-I52B~G9 zphyS_kLK~r?dxwv=52rhx(hIf6@%CFccZM)J&>c*M*t1_Bq$2j9M*w(6#7@8d_&+f zfIj`lHD#_<>A!{NMGx}m{xE~W((18^s1yyYqK7b_It6YL*d?$};8g+-2+Rn~3%nk1 z3vvl=dqUu?0`CBP8f(=?E~QTh{V|%7t+<$VM z)l;jXD)qG7Sc-Dehy$)Q3{Wlsl7lcu(@FO!eV9q=O%DDLsHLu)bo>rI9{pP)ZE6oo8K45+r@L}_lfIkd#xl<^Q zn~$Q^x6QAE@&lp#4A8)AeiHlQN`b2cUMO&rz)J=83G5emmB76Mj|)5@@Kf|v%+xyi zshYx_Kt~{j?B#O6pM>rhimny36BIey(!uZv_5Hy%l9Mz&wot zmkV4YaD%|h0?gw|?i0$Pz!jKptcQYkKt3Tr4f-hfFbv~Qg$Ec$Bp-am~j$Q!Rfpz%T6r7gt$DutI9eLKnU|2pXk3yD|XVNr5YiZBYWo+tMZHwnrm|(*A#PAhO>eU@^(M-cdVR8_OW!g z1GB-mJsH;zRUFPsgId~Yjg+NT1xdr{*-6K-iskB9&PD6b9CI1qPOs$p_E=X5LoN~1 z{oda9kZ56Z5)C3|Qu9L#BZ5OOeamel~mMLE>57}E?3Nh~x|E7p}rGTGW zO%`k_ABE|sM)F6jty5)dN2WB!*6HOTR|tiC)+%BGBhoY3GDqAn0<^OO;_+U$LC|#@ zT(q;po0qA9$#G2WY>Bq!N1>24YB~5N%u#!Uj${gx2nhu5xn_PDp(>FwDbbyA{hOT? zD5$J;76RJ~J`OgwWjcqLqjY&>lyJIF&t&n$rf17ddq(VX9KdfX#i_X!yB&l_wmi3@+n$(mI6CH54LO;dHJ+&*jIU$&WPumdY8!u)o?$pV9D4#= z!4bq-iMs9aefd&;xOTkTC-b?g0AI3a(zzAe@&#*7rPpmwJ~LXhOJxqu9&31VbTl)g zE0+d0VK;*|vy_E$6A(2en0)0VrJAD z$GpU@=lGLZg!p^(QWYZr55 zPo(>b*7cLfUdmI{R~ncs6m~hi;}gKR&5(`NiMpIojG$QVJ(jg(3j5yRH9ED&8l5a; z9PA5hQB3d>fn*(nxc*EzI|k=KVHpu~73~I*4_G+d)*BcL83Q++mb61>Wok&XqUzHMiL| zi6K}Tn(T&!u&3q6GX=5CI8vu$sW~PL`uS|CHJ(qnCAqA z9nCva33~E)-F4b))onYK6?A95cs=Hc1PJ@mjkn#flf~UiqKfpBZE>us&34{LEN5se zQ-rtJNU&MXI<{*>8etvFPZXxOjPd5h44nRU4^l7f#HSl~kO^ez3ED<`XczUPbT#F1 zzq=0ikZIaYW7ro;pkyh7yXt=A<2hg%PT3a@0&@f_&;V|Q$MNkQQ>bwd-s5D`5pWKp z9kTc)rcI!nfh?;^pMK{MIPUeO5Ccet+0BB~s5 zRuT4ieZFC(UcYTHaiq^V)(QU&9YVOQAj%--WPiB4c_}A@4eA`Z^GN{d3;uku%mM5!SBDS<4orzFzA`l zRc(1AE(NQaS4Zv6<=HL$o_H*-PSwEh>v()_UF~%8YkAac#cpxQOg-nyV%y->AT|Yy z^It#ya`>ZA5C2aGK-?1pUMLXv!U5bcPrtJZ|3RS}j_SqQx*h)~p%1_1z7p>0$6C1y z@p2Vb+(E3rdubom-2HTb4#Gggh$uGa2o^k^h}YtNssPh*^i0t8a3(KhlUO^BO3r=* z47U~vtVj17=prbz31PAlak?D0rmJ!5gfABH{N}UkMvr{{h3$_w{c+^MYd)1C<1;rL z+P851bGNEmG>{80+@g^H8;Lb(xSqizgDGgfB#Pe@N2BL8Oy8nJoAtVe=7s~nAfh4P zaNK|pLj|`E?a-kLMKBayiAB&G+675bS(7CYrLt`U2CK1TNxg0~Oy3bT0#OWB*8@>t z7$gwG)U_zkd-3C*psuQrsTff$5x{WZgjfXJu}CbUhIADW7k9Dge_{gM5n*0tFbojU z8ozK#Kp7^%WiTVE;5r^s%Mu6x4C`=~5sez`%cud4XjFxgkw`?-gXohHS1lt7AF%6n zI5P?{N^JUL2CfV7a{n1ZLK$^X0Wa<;iav}MZi3NM!}KShR7)sYryJoAI%o-T-_#PQ zn~z8lQ!k}}sRTlh7K5(<4SabTlLx2~i$O4ObDnOt1b`ZVEFVKKqHI8r&{Q?_pp?|@ z3N1rq#0#g%plFv~Q~% zF%$pt;Y4C>N9X!PqRYVVD__3O!gb^-g;rd2;ie61hjSa-H*|Dl z+t=rE8`?LnyQs5$c*BN`!?{hJBi2RuZ9qLPYS-bX0v#zVCI%4c5CwxfrltJt@{k(8 z+R01|*u_d(JT&ImM@zy>mH&sPqQMf-lK4dh|DtKnV9(&+-M(%2eK)H~#wkzgU33#gN~z zP0#F(XAY(=w&>Y(#&_Ve|1i<>JZZe=d6mEH-G|*e4cIIDb|3ce0pNXr+fe4`3&CHW zb-&BtZ(jIu-}v#WJiJ@gh!t87paQ9U#My@Zo-@Hd?Dm|8^0NZl8zD<@z`;iuJ`C|e ziE~N!c_`Qep$fDsgNsx5(Q`;j2u}yb?f$Jtroms5Z$@gPRQP+)dr5NIJhF}2eg=`d zY)AHzK;}|F{=q*^>cC=DZMzR`IXkK9whozWhxg$x-8bXcIEswU&2)wy8i3M&buLl)8$FnxLh;x zbG0St%l4hwX10}Q+jyh2@snOYk-JCXKi3ZG|K&fs-TyOuX2W0pQ2siC*KdLU1*-@* AMgRZ+ diff --git a/SKGL Plus/obj/Debug/SKGL Plus.pdb b/SKGL Plus/obj/Debug/SKGL Plus.pdb deleted file mode 100644 index 2849563c58ee1187456c5c27b9114d5b5acf6305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42496 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 a26frf<$*2_ba|l516>~I^1uoA!2bhI8UYdj diff --git a/SKGL.v12.suo b/SKGL.v12.suo deleted file mode 100644 index 6cad2b054136ad471e265dac68bc723f33414620..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28672 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 AMgRZ+ diff --git a/SKGLTest/bin/Debug/SKGL Plus.pdb b/SKGLTest/bin/Debug/SKGL Plus.pdb deleted file mode 100644 index 2849563c58ee1187456c5c27b9114d5b5acf6305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42496 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 a26frf<$*2_ba|l516>~I^1uoA!2bhI8UYdj diff --git a/SKGLTest/bin/Debug/SKGL.dll b/SKGLTest/bin/Debug/SKGL.dll deleted file mode 100644 index 6d313abdffdae2e63d3e1678f8687c004586b1fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 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 diff --git a/SKGLTest/bin/Debug/SKGLTest.dll b/SKGLTest/bin/Debug/SKGLTest.dll deleted file mode 100644 index a08737a556012bff120a9a53741db3a84d1351cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10752 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 ZUfGZB{YGB>-v1f9p9l7Duiv-~{0Gv^9u)up diff --git a/SKGLTest/bin/Debug/SKGLTest.pdb b/SKGLTest/bin/Debug/SKGLTest.pdb deleted file mode 100644 index c24138c18eef715652601944a767311aed725544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24064 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 diff --git a/SKGLTest/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SKGLTest/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index d03e742b793c2af285dfeeca6c478e3a68be0cae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6370 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 ZUfGZB{YGB>-v1f9p9l7Duiv-~{0Gv^9u)up diff --git a/SKGLTest/obj/Debug/SKGLTest.pdb b/SKGLTest/obj/Debug/SKGLTest.pdb deleted file mode 100644 index c24138c18eef715652601944a767311aed725544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24064 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 diff --git a/SpeedComparsison/SpeedComparsison.csproj.vspscc b/SpeedComparsison/SpeedComparsison.csproj.vspscc deleted file mode 100644 index b6d3289..0000000 --- a/SpeedComparsison/SpeedComparsison.csproj.vspscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" -} diff --git a/SpeedComparsison/bin/Debug/SKGL.dll b/SpeedComparsison/bin/Debug/SKGL.dll deleted file mode 100644 index 6d313abdffdae2e63d3e1678f8687c004586b1fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 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 diff --git a/SpeedComparsison/bin/Debug/SpeedComparsison.dll b/SpeedComparsison/bin/Debug/SpeedComparsison.dll deleted file mode 100644 index 1bc97dc13e02db18e827742af6988276f210a6f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 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 diff --git a/SpeedComparsison/obj/Debug/SpeedComparsison.csproj.FileListAbsolute.txt b/SpeedComparsison/obj/Debug/SpeedComparsison.csproj.FileListAbsolute.txt deleted file mode 100644 index 0e3185f..0000000 --- a/SpeedComparsison/obj/Debug/SpeedComparsison.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,7 +0,0 @@ -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\obj\Debug\SpeedComparsison.csprojResolveAssemblyReference.cache -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\bin\Debug\SpeedComparsison.dll -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\bin\Debug\SpeedComparsison.pdb -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\bin\Debug\SKGL.dll -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\bin\Debug\SKGL.pdb -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\obj\Debug\SpeedComparsison.dll -C:\Users\Artem Los\Documents\GitHub\SKGL\SpeedComparsison\obj\Debug\SpeedComparsison.pdb diff --git a/SpeedComparsison/obj/Debug/SpeedComparsison.csprojResolveAssemblyReference.cache b/SpeedComparsison/obj/Debug/SpeedComparsison.csprojResolveAssemblyReference.cache deleted file mode 100644 index 07893c2ed4eb95b3e6db28b14fb6afdcf7e47379..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13161 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 b2LO*!Q5CkLxK-GUimCuYvFhpbs80JQfb*qu diff --git a/SpeedComparsison/obj/Debug/SpeedComparsison.dll b/SpeedComparsison/obj/Debug/SpeedComparsison.dll deleted file mode 100644 index 1bc97dc13e02db18e827742af6988276f210a6f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 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 Date: Tue, 13 Nov 2018 14:20:07 +0300 Subject: [PATCH 4/5] refactored SKGL.powof function, as sonarQube scanner tools refactoring rules --- SKGL 2.0.5.2/SKGL.cs | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/SKGL 2.0.5.2/SKGL.cs b/SKGL 2.0.5.2/SKGL.cs index d1a9035..78b689e 100644 --- a/SKGL 2.0.5.2/SKGL.cs +++ b/SKGL 2.0.5.2/SKGL.cs @@ -14,7 +14,7 @@ [assembly: AllowPartiallyTrustedCallers()] namespace SKGL -{ +{ internal class methods : SerialKeyConfiguration { //The construction of the key @@ -57,7 +57,7 @@ protected internal string _encrypt(int _days, bool[] _tfg, string _secretPhase, { // if password is set, return an encrypted return base10ToBase26((getEightByteHash(result.ToString()) + _encText(result.ToString(), _secretPhase))); - } + } } protected internal string _decrypt(string _key, string _secretPhase) @@ -299,25 +299,20 @@ protected internal BigInteger powof(int x, int y) BigInteger newNum = 1; if (y == 0) - { return 1; - // if 0, return 1, e.g. x^0 = 1 (mathematicaly proven!) - } - else if (y == 1) - { + // if 0, return 1, e.g. x^0 = 1 (mathematicaly proven!) + + if (y == 1) return x; - // if 1, return x, which is the base, e.g. x^1 = x - } - else + // if 1, return x, which is the base, e.g. x^1 = x + + for (int i = 0; i <= y - 1; i++) { - for (int i = 0; i <= y - 1; i++) - { - newNum = newNum * x; - } - return newNum; - // if both conditions are not satisfied, this loop - // will continue to y, which is the exponent. + newNum = newNum * x; } + return newNum; + // if both conditions are not satisfied, this loop + // will continue to y, which is the exponent. } } } \ No newline at end of file From 22ead1248931ec97fecf1f0f56da6d3bd32f031a Mon Sep 17 00:00:00 2001 From: Ertugrul KARA Date: Tue, 13 Nov 2018 15:15:04 +0300 Subject: [PATCH 5/5] added new unit tests --- SKGLTest/UnitTest1.cs | 45 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/SKGLTest/UnitTest1.cs b/SKGLTest/UnitTest1.cs index 59af752..2693ccf 100644 --- a/SKGLTest/UnitTest1.cs +++ b/SKGLTest/UnitTest1.cs @@ -10,24 +10,61 @@ public class UnitTest1 public void MachineCodeTest() { SKGL.Generate gen = new SKGL.Generate(); - string a= gen.MachineCode.ToString(); + string a = gen.MachineCode.ToString(); } [TestMethod] public void CreateAndValidateSimple() { SKGL.Generate gen = new SKGL.Generate(); - string a = gen.doKey(30); + string a = gen.doKey(30); SKGL.Validate val = new SKGL.Validate(); val.Key = a; - + Assert.IsTrue(val.IsValid == true); - Assert.IsTrue(val.IsExpired ==false); + Assert.IsTrue(val.IsExpired == false); Assert.IsTrue(val.SetTime == 30); } + + [TestMethod] + public void CreateAndValidate999Days() + { + SKGL.Generate gen = new SKGL.Generate(); + string a = gen.doKey(999); + + SKGL.Validate val = new SKGL.Validate(); + + val.Key = a; + + Assert.IsTrue(val.IsValid == true); + Assert.IsTrue(val.IsExpired == false); + + + } + + + [TestMethod] + public void CreateAndValidate999DaysWithSecretPhase() + { + SKGL.Generate gen = new SKGL.Generate(); + + gen.secretPhase = "d87e468e-02ae-4112-a687-fb4a402a2f7a"; + + string a = gen.doKey(999); + + SKGL.Validate val = new SKGL.Validate(); + val.secretPhase = "d87e468e-02ae-4112-a687-fb4a402a2f7a"; + val.Key = a; + + Assert.IsTrue(val.IsValid == true); + Assert.IsTrue(val.IsExpired == false); + + + } + [TestMethod] public void CreateAndValidateA() {