一个用于OpenChain区块链的加密工具库,提供密钥对生成、签名验证和密钥存储等功能。
npm install openchain-encryption-nodejs-yxl-ts
- 密钥对生成和管理
- 签名创建和验证
- 密钥安全存储
- 地址生成和验证
const { keypair } = require('openchain-encryption-nodejs-yxl-ts');
// 创建新的密钥对
const keyPair = new keypair();
// 获取编码后的私钥
const encPrivateKey = keyPair.getEncPrivateKey();
// 获取编码后的公钥
const encPublicKey = keyPair.getEncPublicKey();
// 获取地址
const address = keyPair.getAddress();
// 从私钥获取公钥
const pubKey = keypair.getEncPublicKey(encPrivateKey);
// 从公钥获取地址
const addr = keypair.getAddress(encPublicKey);
// 验证私钥格式
const isValidPriv = keypair.checkEncPrivateKey(encPrivateKey);
// 验证公钥格式
const isValidPub = keypair.checkEncPublicKey(encPublicKey);
// 验证地址格式
const isValidAddr = keypair.checkAddress(address);
const { signature } = require('openchain-encryption-nodejs-yxl-ts');
// 创建签名
const message = 'Hello OpenChain';
const sig = signature.sign(message, encPrivateKey);
// 验证签名
const isValid = signature.verify(message, sig, encPublicKey);
const { keystore } = require('openchain-encryption-nodejs-yxl-ts');
// 加密私钥
keystore.encrypt(encPrivateKey, 'your-password', (keystoreString) => {
console.log('加密后的keystore:', keystoreString);
});
// 解密私钥
keystore.decrypt(keystoreString, 'your-password', (decryptedPrivateKey) => {
console.log('解密后的私钥:', decryptedPrivateKey);
});
- 请妥善保管私钥,不要泄露给他人
- 使用强密码保护keystore文件
- 定期备份重要的密钥数据
- 在进行签名操作时确保环境安全
库中的大多数方法在遇到错误时会抛出异常,建议使用try-catch进行错误处理:
try {
const keyPair = new keypair();
const encPrivateKey = keyPair.getEncPrivateKey();
} catch (error) {
console.error('操作失败:', error.message);
}
MIT