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-crypto
andnode:crypto
into Joplin.- Implementation for
react-native-quick-crypto
has 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
Buffer
fromnode:buffer
andreact-native-quick-crypto
(craftzdog/react-native-buffer
) are not identical, so I have to use typeany
in 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)