node-forge 实现rsa 16进制解密
import forge from ‘node-forge’;
const fixedPrivateKeyPem = -----BEGIN RSA PRIVATE KEY----- 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 -----END RSA PRIVATE KEY-----
;
const fixedEncryptedHex =
‘4b510bbf0e173e4fb3da19cbaf1fbdb1e3dc5af074a64c4c5891d9ab7f74f6378ee21091c882061fbea2a0bbbbe134508ec6855aa160f26d33254a86a494114ba975e1bd253750585797e307c463bd600ab2b817670043c9c1a6362bfdb33da0507f66c2c6a21ad068b89fa2aa59eb20cf1510edb7f12202691db906075b9edf0b70bb15dfaa5dc6c965a01aeebe83adfe38108fc41424c43a12b2916539926c984976e8c6b34c85a732496fe60dc5eae509c5dd5156fbf5877e7f0ead57810118e89dc477c1299e80f820a1ff95a14ee10c8af77181754f1bbffb32e3d47047b065a31db6806c892cf090c398a899dc2d9cb930798e3bac97e7ef4ea1351fdc66b1150f5d60df0c6bc290373a6a9e0be8c43a71c34d931431b7210320b651956ea502d2b80447256e6e4dc998bd8a3e3837a61a6737df514b7a2f6c4ef51c9cd39e68800db40468a02f9172dddc2c50c27bdb1cb2651fbad04ad924bdc36b084bd47a401f69d8dfdf6492dfab9467637753c98a244fe60b18a0e8882838989bd1af1dc3b1c9de254433d56afaf682b080982745940a5f153eb09912087b0e5cc6830e01d576482b61bdd917e807c1b274afbefcc9615a3b9e0d64c1c006016f8fc0558b98f27c0d63b46cb6475212e311cd1b1a91f4abdfc19cfdf2f0a939e750adda856f5656285466c8a401666eec9cb845b882133ea01dbc9ac28170caf5’;
try {
const encryptedBytes = forge.util.hexToBytes(fixedEncryptedHex);
const privateKey = forge.pki.privateKeyFromPem(fixedPrivateKeyPem);
const decryptedBytes = privateKey.decrypt(encryptedBytes);
const decryptedMessage = forge.util.decodeUtf8(decryptedBytes);
console.log(‘解密成功,消息为:’, decryptedMessage);
} catch (error) {
console.error(‘解密失败:’, error);
}