openchain-encryption-nodejs-yxl-1

1.2.0 • Public • Published

openchain-encryption-nodejs

一个用于OpenChain区块链的加密工具库,提供密钥对生成、签名验证和密钥存储等功能。

安装

npm install openchain-encryption-nodejs-yxl-ts

功能特性

  • 密钥对生成和管理
  • 签名创建和验证
  • 密钥安全存储
  • 地址生成和验证

API使用说明

密钥对操作

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);
});

安全建议

  1. 请妥善保管私钥,不要泄露给他人
  2. 使用强密码保护keystore文件
  3. 定期备份重要的密钥数据
  4. 在进行签名操作时确保环境安全

错误处理

库中的大多数方法在遇到错误时会抛出异常,建议使用try-catch进行错误处理:

try {
    const keyPair = new keypair();
    const encPrivateKey = keyPair.getEncPrivateKey();
} catch (error) {
    console.error('操作失败:', error.message);
}

许可证

MIT

Package Sidebar

Install

npm i openchain-encryption-nodejs-yxl-1

Weekly Downloads

0

Version

1.2.0

License

MIT

Unpacked Size

203 kB

Total Files

13

Last publish

Collaborators

  • redblow