Skip to content
You must be logged in to sponsor whyoleg

Become a sponsor to Oleg Yukhnevich

Hey!
First of all, I do love Kotlin!
Second, I love to do anything related to Kotlin Multiplatform! Especially creating libraries!

Currently, I'm focused on cryptography-kotlin, a type-safe, multiplatform cryptography library for Kotlin. The library wraps well-known future-proof solutions like OpenSSL 3.x, CryptoKit, WebCrypto, or JCA with common API.

Sometimes I also experiment with bringing concepts like FFI (ffi-kotlin), SPI (sweet-spi) or JDK-Cleaner (clozy) to Kotlin Multiplatform!

If you (or your company) are using something I've created and would like to help keep it maintained and evolving, please let me know! I would be more than honored to receive your support in any way possible. Feel free to just ping me in slack/x/email/etc and say thank you or anything else, like "when is the next release?" - it truly means a lot ❤️.

P.S. I'm currently working at JetBrains on Kotlin. But my open-source burden is only mine :)

@whyoleg

Let's see what we can do together!

Featured work

  1. whyoleg/cryptography-kotlin

    A cryptography/crypto library for Kotlin Multiplatform

    Kotlin 578
  2. whyoleg/ffi-kotlin

    Kotlin Multiplatform Foreign Function Interface

    C 108
  3. whyoleg/sweet-spi

    Simple SPI (Service Provider Interface) for Kotlin Multiplatform (equivalent of JVM's Service Loader)

    Kotlin 46
  4. whyoleg/clozy

    Kotlin Multiplatform closeable resources management

    Kotlin 3

0% towards $100 per month goal

Be the first to sponsor this goal!

Select a tier

$ a month

You'll receive any rewards listed in the $5 monthly tier. Additionally, a Public Sponsor achievement will be added to your profile.

$1 a month

Select

Thank you!

$5 a month

Select

Thank you! x 5

$100 a month

Select

Here is the ciphertext in HEX format: 31c5e4ced18fa15bc25e7b25bc75ddf842ad7b150ae87b2a9388cc66d8ffa73ef798f8eabdf7c33ac0f34758f83f72a2563ca3b59e77b380ffaa49d7d0bd76cd763ec2613c0c9f58e0dfb5a99ad0686103550a2b524e500b1ee6
By sponsoring this tier, I will provide a key to decrypt it :)
Of course, you can use cryptography-kotlin for this:

CryptographyProvider.Default.get(AES.GCM)
    .keyDecoder().decodeFromByteArray(
        format = AES.Key.Format.RAW,
        bytes = KEY.hexToByteArray()
    )
    .cipher().decrypt(
        ciphertext = CIPHERTEXT.hexToByteArray(),
        associatedData = "https://github.com/whyoleg".encodeToByteArray()
    )
    .decodeToString()