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

使用kdbxweb创建密码库时遇argon2未实现错误求助

解决kdbxweb在Node.js中出现"argon2 not implemented"错误的方案

问题原因

kdbxweb依赖Argon2哈希算法处理KDBX数据库加密,但该库在Node.js环境下未内置Argon2实现,必须手动安装并注册对应算法逻辑才能正常使用。

解决步骤

  1. 安装Argon2依赖包
    在项目终端执行命令安装官方Argon2 npm包:

    npm install argon2
    
  2. 给kdbxweb注册Argon2实现
    导入argon2库后,将其哈希逻辑映射到kdbxweb的CryptoEngine,替换默认未实现的Argon2方法。

  3. 修正数据库保存逻辑
    database.save()会返回数据库的二进制Buffer数据,需要将其写入本地文件,原代码的保存逻辑需要补全。

完整修正代码

import * as fs from 'fs';
import * as kdbx from 'kdbxweb';
import * as argon2 from 'argon2';

// 注册Argon2实现到kdbxweb
kdbx.CryptoEngine.setArgon2Impl({
    async hash(pass, salt, memory, iterations, length, parallelism, type, version) {
        return argon2.hash(pass, {
            salt,
            memoryCost: memory,
            timeCost: iterations,
            hashLength: length,
            parallelism,
            type: type === 0 ? argon2.argon2d : type === 1 ? argon2.argon2i : argon2.argon2id,
            version
        });
    }
});

(async() => { 
  try {
    // 创建KDBX数据库实例
    const database = kdbx.Kdbx.create(
        new kdbx.Credentials(kdbx.ProtectedValue.fromString('test')),
        'credentials'
    );

    // 创建ODBC连接专用分组与条目(按需启用)
    const group = database.createGroup(database.getDefaultGroup(), 'ODBC Connections');
    const entry = database.createEntry(group);
    entry.fields.set('Title', '生产库ODBC连接'); // 对应ODBC连接名
    entry.fields.set('UserName', 'prod_db_user'); // 数据库UID
    entry.fields.set('Password', kdbx.ProtectedValue.fromString('prod_p@ssw0rd')); // 数据库PWD
    entry.times.update();
    entry.pushHistory();

    // 保存数据库到本地文件
    const dbBuffer = await database.save();
    fs.writeFileSync('odbc_credentials.kdbx', dbBuffer);
    console.log('凭证库创建保存成功');
  } catch (e: any) {
    console.error('操作失败:', e.message);
    throw e;
  }
})();

额外说明

  • 读取数据库时同样需要先执行Argon2注册逻辑,再加载文件内容解析
  • 条目名称(Title字段)设为ODBC连接名后,后续可通过遍历条目匹配名称,取出UserName和Password字段填入ODBC连接字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:35:39