#react-native #rsa #public-key-encryption
#реагировать-родной #rsa #шифрование с открытым ключом
Вопрос:
Я хотел бы знать, как я могу зашифровать данные с помощью открытого ключа метода RSA и передать их на серверную сторону. В настоящее время я увидел библиотеку react-native-rsa-native , установил ее в проект, а также связался с командой «react-native link react-native-rsa-native». Но проект все еще не знает библиотеку. И показывает ошибку
TypeError: Cannot read property 'generateKeys' of undefined.
Вот мой тестовый код в соответствии с документацией библиотеки.
RSA.generateKeys(4096) // set key size
.then(keys => {
console.log('4096 private:', keys.private); // the private key
console.log('4096 public:', keys.public); // the public key
RSA.encrypt(token, keys.public)
.then(encodedMessage => {
console.log(`the encoded message is ${encodedMessage}`);
RSA.decrypt(encodedMessage, keys.private)
.then(decryptedMessage => {
console.log(`The original message was ${decryptedMessage}`);
});
});
});
Пожалуйста, предложите способы, которыми я могу зашифровать данные с помощью метода React Native для RSA.Версия проекта React native — 0.59. Для iOS он поддерживается начиная с версии iOS 9. Вот информация о версии Android.
compileSdkVersion = 29
minSdkVersion = 19
targetSdkVersion = 29
buildToolsVersion = "28.0.3"
supportLibVersion = "28.0.0"
supportAndroidVersion = "28.0.0"
- Элемент списка
Комментарии:
1. Используете ли вы Expo? Если да, вам следует рассмотреть возможность удаления expo, поскольку этот модуль еще не поддерживается
Ответ №1:
Кажется, проблема со связыванием. Можете ли вы попробовать связать его вручную в Pod-файле и проверить, работает ли он в симуляторе IOS.
модуль ‘react-native-rsa-native’,:path => ‘../node_modules/react-native-rsa-native’