SuperAPI AI 工具集

wallet-encrypt-decrypt

安全与审计

查看项目

更新于 10-15 17:23

技能介绍

用途:在 BSV 生态中于双方之间加密和解密消息,基于 @bsv/sdk 的 EncryptedMessage,避免自行实现加密逻辑。

主要能力:EncryptedMessage.encrypt(message, sender, recipient) 接收明文字节数组、发送方 PrivateKey 与接收方 PublicKey,返回加密字节;EncryptedMessage.decrypt(ciphertext, recipient) 用接收方私钥解密。配合 Utils.toArray、Utils.toUTF8、Utils.toHex 在字节、字符串与十六进制间转换。加密采用 ECDH 协商共享密钥,再用 AES-256-GCM 做认证加密,兼具机密性与完整性;私钥不传输。

两种模式:静态-静态 ECDH 适用于双方已有持久密钥(如 BAP 身份、paymail);ECIES 风格使用临时发送方密钥,适用于浏览器到服务器等发送方无持久身份的场景,需把临时公钥一并传给对方。

用法示例:const encrypted = EncryptedMessage.encrypt(Utils.toArray('Secret message','utf8'), sender, recipient.toPublicKey());解密:const decrypted = EncryptedMessage.decrypt(encrypted, recipient);再经 Utils.toUTF8(decrypted) 还原文本。

限制与注意:不要手写 ECDH+AES;加密仅隐藏内容,身份验证需另行使用 bitcoin-auth;具体安装命令、包版本与平台要求资料暂未提供。