密码管理软件KeePassDX的模板创建和数据同步


背景说明

  • 网站和手机应用需要登陆账号,大量的账号密码需要被记录
  • 密码管理软件需要支持电脑和手机的使用,并且提供同步服务
  • 密码管理软件需要支持本地存储,支持导入和导出功能以便于迁移
  • 密码管理软件需要提供自动填充密码的功能
  • 开源的密码管理软件一般有较高的安全性和可信度
  • KeePassDX是一个适用于Android,基于KeePass的手机客户端,美观简约
  • KeePassXC是一个适用于Windows,基于KeePass的电脑客户端,美观简约
  • 存在在一个条目中存储同一账户密码对应同一网站的不同域名的需求
  • 存在在一个条目中存储同一账户密码对应的网站和安卓应用的需求

操作说明

KeePassDX和KeePassXC的同步

  • 局域网同步

    • 手机:使用Syncthing
    • 电脑:使用基于syncthing的图形化客户端SyncTrayzor
  • 云同步

    1. 安装坚果云
    2. 在KeePassDX中点击打开已有数据库
    3. 点击左上角的三条横线
    4. 点击坚果云
      配置坚果云云同步
    5. 选择要打开的密码数据库文件

关联多个网站和应用

  • 网站:填充URL字段,添加自定义字段URL_[X]X为自然数
  • 应用:填充AndroidApp字段,添加自定义字段AndroidApp_[X]X为自然数

创建模板

  1. 打开设置 -> 数据库设置 -> 模板使用后的开关
  2. 设置 -> 数据库设置 -> 模板组选择存放模板文件的文件夹
  3. 在模板文件夹中点击+ -> 添加条目
  4. 点击右下角的三条横线按钮,填写字段名
  5. 在字段内容填写对应字段的描述

模板格式

KeePassDX模板格式

  • 创建了一种伪语言以方便创建模板,这种伪语言与KeePass模板格式兼容

  • 缩写

    s : string
    * : 0 or more
    + : 1 or more
    / : or
    
  • 文本或数字

    类型
       text
    选项
       generator:[true/false]  // 允许生成器生成一个密码 (警告 : 因为基本插件的格式限制,仅当字段的名为[Password]时工作)
       lines:[many/n+]         // 最大行数
       default:[s*]            // 字段的默认内容
    示例
       text {generator:true}
    
  • 列表

    类型
       list
    选项
       items:[s*(|s*)+]  // 由字符串生成列表
       default:[s*]      // 从列表中选择默认项
    示例
       list {default:WPA2, items:WPA3|WPA2|WPA|WEP}
    
  • 日期时间

    类型
       datetime
    选项
       format:[date/time] // 选择时间或日期
    示例
       datetime {format:date}
    
  • 分割

    类型
       divider
    选项
       无
    示例
       divider
    

KeePass模板格式

  • 见官网

模板示例

KeePassDX模板示例

  • KeePassDX效果示例

    - 用户名
    - 密码
    - 网址
    - 过期时间
    - 备注
    - AndroidApp
    

    KeePassDX模板效果和方法

  • KeePassDX方法示例

    - [Username]
       -list {default:sky-seeker@qq.com, items:梦幻之心星|sky-seeker@qq.com}
    - [Password]
       - text {generator:true}
    - [URL]
       - text
    - [Expires]
       - datetime {format:date}
    - [Notes]
       - text {lines:many}
    - [divider1]
       - divider
    - [AndroidApp]
       - text
    

KeePass模板示例

  • KeePass方法示例
    KeePassDX模板效果和方法

    _etm_template
       - 1
    
    _etm_options_Username
       - 梦幻之心星,sky-seeker@qq.com
    _etm_options_Password
    _etm_options_URL
    _etm_options_Expires
    _etm_options_Notes
    _etm_options_divider1
    _etm_options_AndroidApp
    
    _etm_position_Username
       - 0
    _etm_position_Password
       - 1
    _etm_position_URL
       - 2
    _etm_position_Expires
       - 3
    _etm_position_Notes
       - 4
    _etm_position_divider1
       - 5
    _etm_position_AndroidApp
       - 6
    
    _etm_title_Username
       - Username
    _etm_title_Password
       - Password
    _etm_title_URL
       - URL
    _etm_title_Expires
       - Expires
    _etm_title_Notes
       - Notes
    _etm_title_divider1
       - divider1
    _etm_title_AndroidApp
       - AndroidApp
    
    _etm_type_Username
       - Listbox
    _etm_type_Password
       - Protected Inline
    _etm_type_URL
       - Inline
    _etm_type_Expires
       - Date
    _etm_type_Notes
       - Multiline
    _etm_type_divider1
       - divider
    _etm_type_AndroidApp
       - Inline
    

注意事项

  • KeePassDX模板自定义字段名需要放在方括号中
  • KeePassDX模板自定义字段字段的描述的选项括在大括号中,用逗号分隔

参考资料

  • 自动填充 · Kunzisoft/KeePassDX Wiki · GitHub
  • 模板 · Kunzisoft/KeePassDX Wiki · GitHub
  • 占位符 - KeePass

版权声明:本文为「梦幻之心星」原创,依据 CC BY-NC-SA 4.0 许可证进行授权,转载请附上原文出处链接及本声明。


博客园地址:https://www.cnblogs.com/Sky-seeker
微信公众号:关注微信公众号,获取即时推送
微信名:梦幻之心星 微信号:Sky-seeker