I am trying to send an encrypted string from my server to the client in which it's consumed immediately in a function call. The information is not super sensitive I just want to do it this way haha.
When I encrypt and decrypt on the server it works but when I decrypt from my client I get
decrypted ~��N}������������F����0$�x[��Iʦた��=���n���G�q�(��Ͽ/���!}oU�
���W��_���
�ܧ�����Z�����9[���V��B��F��+�f��@���f��\�������Sꖙ��]W��qO���G:o�HbI�ODK��0�X� l���WD���B/E3��d�L�q��W���L`�\Y���8-0�$���W��=�����K$h��>����~j�m�_��c��ʐ��y���<���>{L����jS(K��������-�w������O���@�x
4g
Server code
let keypub = new NodeRSA(`${process.env.RSA_PUBLIC}`);
let keypriv = new NodeRSA(`${process.env.RSA_PRIVATE}`);
class ipfsDAO {
static async getTokenURI(req, res, next) {
if(nft_indexes.length >= 1) {
try {
const encrypted_uri = keypub.encrypt(`${baseURL}${i}.json?filename=${i}.json`, 'base64');
let decrypted = keypriv.decrypt(encrypted_uri, 'utf-8')
console.log("encrypted "+ encrypted_uri)
console.log("decryte3d "+ decrypted)
return encrypted_uri
} catch (err) {
console.log("(SERVER) getTokenURI ERROR: " + err);
}
}
}
Client code
const key = new NodeRSA(`${process.env.REACT_APP_RSA_PRIVATE}`);
key.setOptions({encryptionScheme: 'pkcs1'})
try {
await fetch(process.env.REACT_APP_TOKEN_URI_ROUTE)
.then( res => { return res.json() })
.then( async encryptedTokenURI => {
console.log("encrypted " + encryptedTokenURI.data)
const decryptedTokenURI = key.decrypt(encryptedTokenURI.data, 'utf8');
console.log("decrypted " +decryptedTokenURI)
})
//setToggleMint(true)
} catch (error) {
console.log(error);
}