Java Clean Architecture Masterclass

Java Clean Architecture Masterclass28-29 May

Join

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.

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.