cross-crypto-ts
Version:
Cifrado híbrido seguro con interoperabilidad entre lenguajes como Python, TypeScript y Rust, basado en AES-GCM (256 bits) y RSA-OAEP (4096 bits).
24 lines (23 loc) • 922 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateRSAKeys = generateRSAKeys;
// src/keygen.ts
const node_forge_1 = __importDefault(require("node-forge"));
function generateRSAKeys(bits = 4096) {
try {
const keypair = node_forge_1.default.pki.rsa.generateKeyPair({ bits });
const publicKeyPem = node_forge_1.default.pki.publicKeyToPem(keypair.publicKey);
const privateKeyPem = node_forge_1.default.pki.privateKeyToPem(keypair.privateKey);
return {
publicKey: publicKeyPem,
privateKey: privateKeyPem
};
}
catch (error) {
console.error("Error al generar las claves RSA:", error);
throw new Error("Fallo la generación del par de claves RSA");
}
}