const crypto = require('crypto');
function encryptPayload(payload, publicKeyBase64) {
// Convert Base64 to PEM format
const publicKeyPem = `-----BEGIN PUBLIC KEY-----\n${publicKeyBase64}\n-----END PUBLIC KEY-----`;
const encrypted = crypto.publicEncrypt(
{
key: publicKeyPem,
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING,
oaepHash: 'sha256',
},
Buffer.from(payload, 'utf8')
);
return encrypted.toString('base64');
}
// Usage example
const publicKey = 'YOUR_BASE64_PUBLIC_KEY';
const password = 'user-password-123';
const encryptedPassword = encryptPayload(password, publicKey);
console.log('Encrypted:', encryptedPassword);