2. Find The Right Solution For You!

Table Of Contents

Note: While most things have documentation, I didn't bother making documentation for the smaller things that don't have as much precedence!

Please read the important note at the bottom of the page!

../2. Secure Data (Read Me)/1. Understanding Secure Data
../2. Secure Data (Read Me)/3. SecureData & Memory Protection — the full memory-hardening rundown (AES encryption at rest, page-locking, AntiTamper, HardwareKeyStore, SecureCache) plus the honest threat model

Simple, Easy To Use Post Quantum Based Cryptography Tools

Title Description Function #
../5. EasyPQC/Functions/1. EasyPQC.Signatures Dilithium Based Signing 8
../5. EasyPQC/Functions/2. EasyPQC.Keys KYBERS CRYSTAL Based Public/Private Pairs 8
../5. EasyPQC/Functions/3. EasyPQC.FileOperations LZ4 Compression, Blake3 Signing and AES Cryptography All In One 9
../5. EasyPQC/Functions/4. EasyPQC.Rotation SHAKE256 Based Password Rotation 3

Easy To Use AES256-GCM Based Encryption

Title Description Function #
../7. Walker.Crypto/Functions/1. Walker.Crypto.SimpleAESEncryption Sync Based AES256-GCM Cryptography 6
../7. Walker.Crypto/Functions/2. Walker.Crypto.AsyncAESEncryption Async Based AES256-GCM Cryptography 5
../7. Walker.Crypto/Functions/3. Walker.Crypto.AESFileEncryptor A Simple Method To Encrypt and Decrypt Files 2

Self Explanitory

Title Description Function #
../6. PasswordGenerator/Functions/PasswordGenerator.GeneratePassword Random String Based Generation 1

Note; everything after is within the DataHandler Class (DataHandler.JSONDataHandler, DataHandler.PasswordHandler, etc.)

Modular Tools for Data, Secrets, and Sessions

Title Description Function #
../4. DataHandler/Functions/2. DataHandler.JSONDataHandler Easy JSON Based File Handling (Highly Suggest) 8
../4. DataHandler/Functions/3. DataHandler.SaltAndHashing Password Creation And Verification with Argon2 5+
../4. DataHandler/Functions/4. DataHandler.DataEncryptions Easy Data Based Packing and Unpacking 2
../4. DataHandler/Functions/5. DataHandler.SecretManager Public Secret Rotation, Management and Migration 10+
../4. DataHandler/Functions/1. DataHandler.DeviceIdentifier Device Fingerprinting Tool 2
../4. DataHandler/Functions/8. DataHandler.DataRequest Software to Software Based Data Communication Protocol 12+
../4. DataHandler/Functions/6. DataHandler.Accounts Local User Creation, Login, and Recovery 5
../4. DataHandler/Functions/7. DataHandler.AccountsWithSessions Session Based Local Account Management 10+
Title Description Function #
../8. Extra/Utilities.Tools UUID and Random String Generators 2

BinaryConverter

Modular Tools for Data, Secrets, and Sessions

Title Description Function #
../3. BinaryConverter/BinaryConverter Object/Byte Array Conversion Tools 4

IMPORTANT NOTE

IMPORTANT: There is a Ceras based binary serializer and a non Ceras based one; it's highly recommended to use the Ceras one for the time being due to it's speed compared to the non ceras method; the non ceras method will be fine as is right now, but using Ceras for all other operations will have a noticeable lag. A cofig must also be made for special items and classes; else errors at runtime appear (Look at Signatures and Keys' library, specifically Encode and Decode). In the future, all items will be turned to a byte array before being switched back to a ceras serialized item.

When using JSONDataHandler, ensure you have a parameterless constructor (as seen across the Accounts systems), else your classes will get errors. Example:

            public class EncryptedTier
            {
                public byte[] SignedEncryptedTier { get; set; }
                public string EncryptedTierPass { get; set; }
                public byte[] SignedTierPass { get; set; }

                public EncryptedTier() { } // Required for deserialization

                public EncryptedTier(byte[] signedEncryptedTier, string encryptedTierPass, byte[] signedTierPass)
                {
                    SignedEncryptedTier = signedEncryptedTier;
                    EncryptedTierPass = encryptedTierPass;
                    SignedTierPass = signedTierPass;
                }
            }

Finally, when using PariahJson, do not try to save libraries as weird tuples; as an example, during my debugging and testing I saw that

Dictionary<string, string>

Worked fine, whereas

Dictionary<string, (item, item2. item3)>

Would return null items on GetVariable when I was testing it. Instead, it's better to do something like

public class ItemHolder
{
	public string item1
	public string item2
	public string item3

	public ItemHolder() { } // Required for deserialization


}

Dictionary<string, itemHolder>