【p2p、分布式,区块链笔记 DAM】GUN/SEA(Security, Encryption, Authorization) 模块genkey

genkey

generateAppKey.js

const SEA = require('gun/sea');

// 生成密钥对
SEA.pair().then((pair) => {
   
   
  // 输出提示信息
  console.log('This is your secret app key pair.\nAdd this to your .dotenv file:');
  // 将生成的密钥对转换为 JSON 格式并输出
  console.log(`APP_KEY_PAIR='${JSON.stringify(pair)}'`);
});

  • 输出:
$ node ./generateAppKey.js
Hello wonderful person! :) Thanks for using GUN, please ask for help on http://chat.gun.eco if anything takes you longer than 5min to figure out!
This is your secret app key pair.
Add this to your .dotenv file:
APP_KEY_PAIR='{"pub":"B14-m6S3i1cgm9bJCsED0FsGbHiDlXJAiKK2OnrPSj0.axmMDTmbdAfU3SjJhgqOn6mH6jDUoazcQ_vHljstyuE","priv":"21kawgH1yBwDLSf4yh63A_AdAja4hh-Q5h_ob_LF-VE","epub":"Z-IWo4zkzXyEL5hWCmvQLY8aoxupbZmJZmKFMDhNJ0U.hoNigMrVpc2npPR17tjOyZchJKk1D8wlQKPCIKZNF_w","epriv":"UUO2sHWG1lrQLNr0t9ObSEHyiasCc_D2HdJS-Vw2FmI"}'
Done in 0.77s.

APP_KEY_PAIR

APP_KEY_PAIR='{"pub":"B14...","priv":"21k...","epub":"Z-I...","epriv":"UUO..."}'

总结

密钥类型功能对比表

密钥类型 作用 使用场景 是否公开 说明
pub 身份验证、消息签名验证 用于验证签名和公开身份 可以公开 用于确认数据是否由密钥对的拥有者签名。
priv 消息签名 签署消息、身份认证 不可公开 pub 的配对私钥,用于对消息签名;一旦泄露可能导致身份伪造。
epub 数据加密、公钥加密 安全数据传输、密钥交换 可以公开 用于加密数据,与 epriv 配对;确保对称密钥安全共享。
epriv 数据解密 解密接收到的加密数据 不可公开 epub 的配对私钥,用于解密加密的数据;必须严格保密。

使用示例

  • epub / epriv 用于 数据加密解密。假设已经在 .env 文件中保存了密钥对:
APP_KEY_PAIR='{"pub":"B14...","priv":"21k...","epub":"Z-I...","epriv":"UUO..."}'
  • 然后在代码中读取密钥对并加解密数据:
const SEA = require('gun/sea');
const pair = JSON.parse(process.env.APP_KEY_PAIR);

// 数据加密
async function encryptMessage(message, recipientEpub) {
   
   
  const encrypted = await SEA.encrypt(message, recipientEpub);
  return encrypted;
}

// 数据解密
async function decryptMessage(encryptedMessage) {
   
   
  const decrypted = await SEA.decrypt(encryptedMessage, pair.e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值