Sometimes while creating advanced apps in react-native you may want to encrypt the data you are sending to the web for secured web communication. You may also want to encrypt the payment-related data that is sent to the payment gateway.
Let’s say you want to use the crypto module to create some encrypted data. It might seem natural to do something like this:
There are many alternate modules out there namely
expo-crypto, react-native-crypto and many others but none of these have all the methods of crypto module ,especially if you want to use createCipheriv method you wont find it in any of those modules out there.
var crypto = require('crypto'); var mykey = crypto.createCipher('aes-128-cbc', 'mypassword'); var mystr = mykey.update('abc', 'utf8', 'hex') mystr += mykey.final('hex'); console.log(mystr); //34feb914c099df25794bf9ccb85bea72
Just import a module and create an encrypted string, right? Right? Nope!
Unable to resolve module 'crypto'
This makes core modules like the crypto, stream, etc, and the thousands of npm modules that depend on them unusable from React Native. Fortunately, there’s a solution to this problem, but it takes some work.