encrypted-datastore
encrypted-datastore copied to clipboard
Research: Make the library multiplatform
Since DataStore became multiplatform library in 1.1.0, it would be great to have multiplatform solution for its encryption.
Current JVM dependencies of my library are:
security-crypto— might be dropped because of #31- Tink — has implementations in C++ (Native), Obj-C (Native/iOS) and Go (Wasm). TypeScript implementation is not going to be released anytime and Google recommends to use WebCrypto API instead, however it might be more reasonable to use Wasm module from JS.
- JVM Input/Output streams — could be replaced by kotlinx-io or Okio
References
- Wasm target:
- KMM bindings for Tink (outdated, iOS/Android only)
The preparation step is done:
- https://github.com/osipxd/encrypted-datastore/pull/77
It would be even better not to focus on Tink as the only possible cryptography implementation but make it possible to integrate the library with other solutions. For example, with whyoleg/cryptography-kotlin