diff --git a/README.md b/README.md index 7e00b75..17da77f 100644 --- a/README.md +++ b/README.md @@ -30,23 +30,23 @@ # EncTypes ![img](https://i.imgur.com/F2fxgOn.png) -**A group of classes and structures for storing values while efficiently keeping it encrypted in the memory.** -**In memory, they are saved as a "weird" value that is affected by random values (encryption keys).** +**A group of classes and structures for storing values while efficiently keeping them encrypted in the memory.** +**In memory, they are saved as a "weird" array of bytes that is affected by random values (encryption keys).** **You can find all the EncTypes in [this](https://github.com/JosepeDev/Variable-Encryption/tree/main/EncTypes) folder. You can also use the** -**[benchmark](https://github.com/JosepeDev/Variable-Encryption/wiki/VarEnc's-Benchmark) executable file, to speed test each type.** +**[benchmark](https://github.com/JosepeDev/VarEnc/tree/main/Benchmark) executable file, to speed test each type.** Let's say you want to create a variable for a score inside a video game. With a simple program like CheatEngine and many more, anyone can edit the value of this variable. -This is when you want to use an EncType. Each type does not depend on the other. +This is when you want to use an EncType. Each type does not depend on the other, so you can copy only the types you need. ## Which type to use? -- **EncInt** - For storing an int. Every time you change its value, the random numbers that affect its value change too. +- **EncInt** - For storing an int. Every time you change its value, the random encryption keys that affect its value change too. - **EncLong** - The same thing as the struct above, but for a 64-bit integer (a long). - **EncFloat** - The same thing as the struct above, but for a Single (float). - **EncDouble** - The same thing as the struct above, but for a Double. - **EncDecimal** - The same thing as the struct above, but for a Decimal. -- **EncString** - An EncType class for a string type, that uses an XOR bitwise encryption. +- **EncString** - An EncType class for a string type. You can find the EncTypes folder [here](https://github.com/JosepeDev/Variable-Encryption/tree/main/EncTypes) @@ -94,6 +94,7 @@ encryptedString += "more text"; **But in the background it is encrypted.** **Without you worrying about encryption or decryption, you work with your variables just the same.** **You can also combine and/or compare an EncType with its normal type and vice versa.** +**Every EncType has every method its normal version has.** # Benchmark ![img](https://i.imgur.com/C8YKbnd.png) @@ -113,7 +114,7 @@ After the benchmark is finished, the results will be printed. From there you can ### Performance -I ran a few benchmarks on my Laptop (Intel Core i7-8750h, GTX1060-MaxQ), and these are the results: +I ran a few benchmarks on my Laptop (Intel Core **i7-8750h**, **GTX1060-MaxQ**), and these are the results: | Variable Type | CPS (Changes per second) | |---------------|--------------------------| | EncInt | 5,837,044 | @@ -136,7 +137,7 @@ It may seem heavy but it's **very light** considering its **simple** and **effic In a game where you want to have an encrypted "**score**" for the player, you can just **switch** the score's variable **type** from an **int** to an **EncInt**. They **work** the same, **behave** the same, and have the same **methods** and **functionality**. How many time you change the score variable? How many variables you want to be encrypted? -Even if you'll have **10,000,000 encrypted variables** that you want to change **at once** (it is probably unnecessary to have all of them enc), you can do it and you'll have exactly the same **framerate**. It is a **very light** encryption solution. +Even if you'll have **1,000,000 encrypted variables** that you want to change **at once** (it is probably unnecessary to have all of them enc), you can do it and you'll have exactly the same **framerate**. It is a **very light** encryption solution. ### Example of usage: I **opened** the application from the "**Benchmark**" folder. @@ -163,7 +164,7 @@ It also says shows the **amount of changes** you can perform **in a second** on ### Run benchmark again You can **run again** the same benchmark by pressing **Space** when the results are shown. -You can also run the previous benchmark again by typing **"p"** or **"prev"**. +You can also run the previous benchmark again by typing **"p"** or **"prev"** in the first menu. ### Multiple choices at once I could perform the same benchmark as before, by inputting all the choices at once. @@ -178,7 +179,7 @@ By typing **"size"** or **"s"** in the opening menu, you can see the sizes of ev ### Files You can lunch the benchmark executable from [here](https://github.com/JosepeDev/Variable-Encryption/tree/main/Benchmark) -You can also see the Benchmark Application's Solution in [this](https://github.com/JosepeDev/VarEnc/tree/main/Benchmark/Solution%20(Not%20very%20organized)) folder +You can also see the Benchmark Application's Solution in [this](https://github.com/JosepeDev/VarEnc/tree/main/Benchmark/Solution) folder # Documentations **Every EncType contains the same methods and fields as its normal type.**