[JavaScript] 纯文本查看 复制代码
const forge = require('node-forge');
// 你的 RSA 公钥(格式必须是 PEM)
const publicKeyPem = `-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAfhaifhafoahfifahofa9PdHGOpTtDJWj6W9AFpXXPehVgFCCNwtEDru/WarfCCRaAIaMoUq2/RBMci+ULyf+2MKjqx70IqDonW9lJdlOgYBExI/0otIMwmCqW+yV3F4MLgRRN8YEjffGZTQIJoEgYwvYBjIRGQSC4ce98q/50nX+7Ne9QbuxO2FtBjUwrFMxdtcsrgo70hxWbtDgD678aDJRgonbldm1RqCwUb1ye8FSFlk5AXU2BETx2vT5eXyqGg8dwuAOw09Y0yjrWjd18Z+gufulLJ4SrlWFMAVeNfuCmRvLJlbNr/lgpyPuzcSc+I0gMRPcHM+vJXSxHT6nzg30zeDROGDHazalrP6wIDAQAB
-----END PUBLIC KEY-----`;
// 要加密的数据
const formData = {
phone: '18866661111',
password: 'qwe123546',
password2:'qwe123456',
imgCode:'4938',
code:'60290902'
};
const plaintext = JSON.stringify(formData);
// 加载公钥
const publicKey = forge.pki.publicKeyFromPem(publicKeyPem);
// 使用 RSA-OAEP 加密
const encryptedBytes = publicKey.encrypt(plaintext, 'RSAES-PKCS1-V1_5');
const encryptedBase64 = forge.util.encode64(encryptedBytes);
// 输出结果
console.log("加密后的 key:\n", encryptedBase64);