universal-life-protocol-core
Version:
Revolutionary AI framework implementing living, conscious digital reality with meta-cognitive reasoning, attention economics, and autonomous learning
38 lines • 1.24 kB
JavaScript
import { createSign, createVerify, generateKeyPairSync } from 'crypto';
export class CryptoUtil {
static generateKeyPair() {
const { publicKey, privateKey } = generateKeyPairSync('rsa', {
modulusLength: 2048,
publicKeyEncoding: { type: 'spki', format: 'pem' },
privateKeyEncoding: { type: 'pkcs8', format: 'pem' },
});
return { publicKey, privateKey };
}
static sign(data, privateKey) {
const signer = createSign('SHA256');
signer.update(data);
signer.end();
return signer.sign(privateKey, 'base64');
}
static verify(data, signature, publicKey) {
try {
const verifier = createVerify('SHA256');
verifier.update(data);
verifier.end();
return verifier.verify(publicKey, signature, 'base64');
}
catch (e) {
return false;
}
}
static simpleHash(str) {
let hash = 0;
for (let i = 0; i < str.length; i++) {
const char = str.charCodeAt(i);
hash = (hash << 5) - hash + char;
hash |= 0; // Convert to 32bit integer
}
return hash;
}
}
//# sourceMappingURL=crypto.js.map