node-rsa
node-rsa copied to clipboard
unable to decrypt encoded string?
So currently I am trying to encode a script on frontend just to test (which still doesn't work) however realistically, backend will do the encoding with public key and frontend will decrypt using private key. Backend also encrypts with RC4 currently, does that matter? what does it need to encrypt with so that this page would be able to decrypt?
var key = `-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpsxlWSkXawYiWWpdnGMxN6oUo
Tc/PX/52WmWXxUmtNGvhAjjzqp7KVHkVsT2mi2xQHjRQzEh6OHeWgKBmnm3pXKPe
FS4M9w1pDRURbvrgEkIE7+Bhji7qekITZCX0Bi2irfwVwSfRkS1X2gCwYWm8ErVD
Q5Nu+2m1Cxsk30oHZQIDAQAB
-----END PUBLIC KEY-----`
var pkey = `-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgH8KZK7RhXiLKRCEauMv1Lw/rh7Lv2iaD3v6fbzrSN5Ub7NkJQhq
1H/qyTetcmz8SLFN9a0H/jWOLvEKadMkGBVtwFn9JMPXe3FRzsyPpB0uUEDcx54X
zv2ClU2qc58rEYtPc8hcoQRBz9oiKMaf+1jNEA9TtQPciHE2ofBc5x/nAgMBAAEC
gYAcVxk21o7L4V97y858eAMhK6OQQyukDho+Mhcyudo7nuJ8Rm7sfciB8MKKpSrN
nUoqI5YWz52qHNnj88q/y2GDtZzZr/u+UJhp3UI7ImScgvhkX42j1rTvr8wECfal
zRrFYIYsCxwjeJ7STf12ja//A4H1+RgB64a38tNPI5i5AQJBAME6ocl3l5/SCNJr
e66TZ1sp9GOETHIes9Df1//KcFINC5dPrKN+1Dzg+sM1arRek8Txd1zZBjwrDd+p
QSvywqECQQCoT2FELluzBrrWKsky4K5oZCgNpQltyEUg8G/jfLYIAU246114Idy6
KL7JoI+gIi+Ato6GepS2jn76mayebl2HAkEAm7p3PXmG16VcuskpKu9dcxmC/tlX
Cvo3jXV6DYrHrzkYSGBMEJBc2JuxPbZFQwyeJzE8M7Ys0j0Yt1MfVR4XQQJBAKPh
Rs/gY6EZeGp4FpfXdXpnqyg9/cRLMCQ2eHuEPqnkuwzG/6etMQKCEeK416AQKTim
iHggexSWAsV3RECvLZkCQE/XRfFCCBr9YhpcYVUrYzwe2fx3vtg5U8qsi9FpEdt3
MaybxdbK8p7iwemnr9wk0wWg87WrzIXLgI+eLo3Rmag=
-----END RSA PRIVATE KEY-----`
const test = new NodeRSA(key, 'pkcs8-public')
var encrypt = test.encrypt('hello', 'base64');
const RSAkey = new NodeRSA(pkey, 'pkcs1-private');
console.log(RSAkey.decrypt(encrypt, 'json'))
as I said this is just a test which does not work as I am getting
Uncaught Error: Error during decryption (probably incorrect key). Original error: Error: Error decoding message, the lHash calculated from the label provided and the lHash in the encrypted data do not match.
What encrypt tactic needs to be used on backend (php) is question number 2?