You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从flutter_sodium 0.2.0迁移到sodium_libs并生成密钥对?

解决sodium_libs生成Box密钥对的问题
  • Box.keyPair()是实例方法,不能直接通过类名静态调用,需先初始化sodium实例,再通过正确的实例化方式调用密钥生成方法。

正确实现步骤:

  1. 先初始化sodium库(必须步骤,否则无法使用加密功能)
  2. 通过初始化后的sodium实例调用Box的密钥生成方法

示例代码:

// 初始化sodium
final sodium = await Sodium.init();

// 生成随机Box密钥对(包含私钥和公钥)
final receiverKeyPair = sodium.box.keyPair();

// 分别提取公钥和私钥
final receiverPublicKey = receiverKeyPair.publicKey;
final receiverSecretKey = receiverKeyPair.secretKey;
  • 若想直接使用Box类,需先基于sodium实例创建Box实例,再调用keyPair方法:
final sodium = await Sodium.init();
final box = Box(sodium);
final receiverKeyPair = box.keyPair();

两种方式均可生成有效Box密钥对,推荐第一种更简洁的写法。

内容的提问来源于stack exchange,提问作者FashionFlutter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:40:54