Table of Contents

Namespace SunamoShared.Crypting

Classes

Asymmetric

Asymmetric encryption uses a pair of keys to encrypt and decrypt. There is a "public" key which is used to encrypt. Decrypting, on the other hand, requires both the "public" key and an additional "private" key. The advantage is that people can send you encrypted messages without being able to decrypt them.

Asymmetric.PrivateKey

Represents a private encryption key. Not intended to be shared, as it contains all the elements that make up the key.

Asymmetric.PublicKey

Represents a public encryption key. Intended to be shared, it contains only the Modulus and Exponent.

CryptHelperAdvanced

Provides advanced cryptographic helper methods for text obfuscation and character transformation.

DataCrypt

Represents Hex, Byte, Base64, or String data to encrypt/decrypt. Use the .Text property to set/get a string representation. Use the .Hex property to set/get a string-based Hexadecimal representation. Use the .Base64 to set/get a string-based Base64 representation. Used in classes Asymmetric, Symmetric, Hash.

Hash

Hash functions are fundamental to modern cryptography. These functions map binary strings of an arbitrary length to small binary strings of a fixed length, known as hash values. A cryptographic hash function has the property that it is computationally infeasible to find two distinct inputs that hash to the same value. Hash functions are commonly used with digital signatures and for data integrity.

HashHelper

Provides methods for computing SHA256 and MD5 hashes, with optional salt generation and verification.

Password

Provides methods for password generation, salting, and hashing.

Symmetric

Symmetric encryption uses a single key to encrypt and decrypt. Both parties (encryptor and decryptor) must share the same secret key.

Utils

Provides utility methods for converting between byte arrays and hex or Base64 string representations.

UtilsNonNetStandard

Shared utility methods used by multiple encryption classes.

Enums

Hash.Provider

Type of hash; some are security oriented, others are fast and simple.

Symmetric.Provider

Available symmetric encryption providers.