【发布时间】:2017-02-14 04:33:23
【问题描述】:
哪个 rsa 库推荐用于支持 Android 的“react native”平台?
谢谢
编辑:
我试过react-native-rsa:
var encrypted = '';
try {
var RSAKey = require('react-native-rsa');
const bits = 1024;
const exponent = '10001';
var rsa = new RSAKey();
rsa.generate(bits, exponent);
var publicKey = rsa.getPublicString();
var privateKey = rsa.getPrivateString();
} catch (error) {
console.log(1);
console.log(error);
}
try {
rsa = new RSAKey();
rsa.setPrivateString(privateKey);
var originText = 'Test 123 Test 321';
encrypted = rsa.encrypt(originText);
} catch (error) {
console.log(2);
console.log(error);
}
try {
rsa = new RSAKey();
rsa.setPublicString(publicKey);
var decrypted = rsa.decrypt(encrypted);
console.log(decrypted);
} catch (error) {
console.log(3);
console.log(error);
}
但是我收到了这个错误:
I/ReactNativeJS( 9238): 3
I/ReactNativeJS( 9238): { [TypeError: null is not an object (evaluating 'e.bitLength')]
I/ReactNativeJS( 9238): line: 96781,
I/ReactNativeJS( 9238): column: 8,
I/ReactNativeJS( 9238): sourceURL: 'http://10.0.3.2:8081/index.android.bundle?platform=android&dev=true&hot=false&minify=false' }
【问题讨论】:
-
您能否提供错误发生在哪一行?
-
这一行出现错误:var decrypted = rsa.decrypt(encrypted);
-
在此函数调用之前检查
encryptedvar。它似乎为空。 -
我查过了。
encryped != null -
请注意,我正在尝试使用 privateKey 加密并使用 publicKey 解密。
标签: javascript node.js react-native