Шифрование RSA в React Native для Android и iOS

#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. Элемент списка

введите описание изображения здесь

Комментарии:

1. Используете ли вы Expo? Если да, вам следует рассмотреть возможность удаления expo, поскольку этот модуль еще не поддерживается

Ответ №1:

Кажется, проблема со связыванием. Можете ли вы попробовать связать его вручную в Pod-файле и проверить, работает ли он в симуляторе IOS.

модуль ‘react-native-rsa-native’,:path => ‘../node_modules/react-native-rsa-native’