Skip to content

Latest commit

 

History

930 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cryptography-kotlin

A cryptography library for Kotlin Multiplatform, which wraps well-known future-proof platform-native solutions like OpenSSL, CryptoKit, WebCrypto or JCA with a type-safe uniform API, aligned defaults as well as tested for cross-compatibility between platforms.

Quick start

Add dependencies:

kotlin {
    sourceSets {
        commonMain.dependencies {
            implementation("dev.whyoleg.cryptography:cryptography-core:0.6.0")
            implementation("dev.whyoleg.cryptography:cryptography-provider-optimal:0.6.0")
        }
    }
}

Use the library:

// get a hasher
val sha = CryptographyProvider.Default.get(SHA512).hasher()
// hash a message
sha.hash("Kotlin is Awesome".encodeToByteArray())

For more, see the Getting Started guide and API Reference.

Supported algorithms

Operation Algorithms
Hashing SHA224, SHA256, SHA384, SHA512, SHA3, SHA1, MD5, RIPEMD160
MAC AES-CMAC, HMAC
Digital Signatures RSA-PSS, RSA-PKCS1, ECDSA, EdDSA, DSA
AEAD AES-GCM, AES-CCM, ChaCha20-Poly1305
Symmetric Encryption AES-CBC, AES-CTR, AES-ECB, AES-OFB, AES-CFB, AES-CFB8
Public-Key Encryption RSA-OAEP, RSA-PKCS1, RSA-RAW
Key Agreement ECDH, XDH, DH
Key Derivation PBKDF2, HKDF

Detailed documentation is available on the project website, including the full provider support matrix.

Releases

Sponsor this project

Used by

Contributors

Languages