Progress
- Finished the performance reports with new graphs and new conclusions
- Created a PR for the basic native encryption framework
- Added necessary dependencies.
- Implemented
getCiphers(),getHashes(),randomBytes()andpbkdf2Raw(). - Feel free to review it and leave your comments!
- Discovered that the
atob()/btoa()in the Hermes engine cannot be used for encoding/decoding arbitrary data.- Specs here
Plans
- Continue integrating
react-native-quick-cryptoandnode:cryptointo Joplin.- Implementation for
react-native-quick-cryptohas higher priority. - Add unit tests for the implemented methods.
- Implement encryption/decryption methods.
- Implementation for
- Check the compatibility of encryption parameters in
Web Crypto API.- The priority of this task is not high.
Problems
- The current framework might have issues with naming and file structure so I hope people could review it and give me some feedback.
- The
Bufferfromnode:bufferandreact-native-quick-crypto(craftzdog/react-native-buffer) are not identical, so I have to use typeanyin the interface. (code) - I didn't find a good way to import a TypeScript module in the JavaScript file. So I just copied the generated JavaScript code. (code)