Keepass v1数据库工具
kptool的Python项目详细描述
这是什么
Keepass版本1数据库文件访问工具,包括访问 模块。
当前,支持将条目或组作为命令行进行搜索 工具。
如何使用
示例:
% python kptool.py <kdbfilepath> password required kptool> Ent Entry2: pass : entry modified: 2010-10-01 22:01:02 Entry1: url : URL pass : testtest modified: 2010-09-26 13:18:13 kptool> ^D
建筑和安装
% python setup.py install
测试
% python setup.py test
要求
- python 2.6或更高版本
- 密码
- argparse
keepassdb模块api
- 构造函数(kdbfilepath,主密码)
从keepass db文件路径和主密码创建db。
>>> from kptool.keepassdb import keepassdb >>> password = "Hogehoge" >>> k = keepassdb.KeepassDBv1("tests/keepass-test.kdb", password)
- 获取组()
获取组。
>>> for g in k.get_groups(): ... if ('groups' in g): ... "%s %s in %s" % (g['title'], g['group_id'], g['groups']) ... else: ... "%s %s" % (g['title'], g['group_id']) 'Group1 2877859699' 'SubGroup1 1203768070 in 2877859699' 'Group2 2251441873'
- 获取条目()
获取条目。 注意:keepassdb有历史记录。get_entries()获取所有条目包括 历史。因此,可以获得具有相同标题的条目。
>>> for e in k.get_entries(): ... print "%s %s %s" % (e['title'], e['username'], e['created']) Entry2 entry2 2010-10-01 22:00:51 SubGroup1 gr 2010-10-01 22:00:29 Entry1 test 2010-09-26 13:17:55 日本語です sub 2010-10-01 21:59:33 Meta-Info SYSTEM 2010-10-01 22:01:04
- 从组id(组id)获取条目
从groupid获取条目。GroupID应为整数。
>>> for e in k.get_entries_from_groupid(2877859699): ... e['title'] 'Entry1' 'Meta-Info'
- 查找组(搜索词)
查找标题或ID中有<;searchword>;的组。
>>> for g in k.find_groups("up1"): ... g['title'] 'Group1' 'SubGroup1'
- 查找条目(搜索词)
查找标题、url、注释或用户名中包含<;searchword>;的条目。
>>> for e in k.find_entries("Ent"): ... e['title'] 'Entry2' 'Entry1'
- 清除()
清除数据库中当前加载的任何组和条目。
>>> k.clear() >>> k.get_entries() [] >>> k.get_groups() []
输入字段列表
id: | entry id. String. |
---|---|
group_id: | group id. Integer. |
icon: | icon Integer. |
title: | title. ASCII or UTF-8 |
url: | url |
username: | username |
password: | password |
comment: | comment. ASCII or UTF-8. |
created: | created date. Datetime object. |
modifed: | modified date. Datetime object. |
accessed: | accessed date. Datetime object. |
expires: | expires date. Datetime object. if “never”, shows 2999-12-28 23:59:59. |
bin_desc: | |
binary: |
组字段列表
group_id: | group id. Integer. |
---|---|
title: | title |
icon: | icon |
level: | level. start from 0. |
comment: | comment. |
错误
- 仅支持rijndael。
- 只支持密钥(不支持密钥文件)。
- 只支持读取方法。
待办事项
- 写方法。
- Keepass DB版本2支持。
许可证
GPL版本2
确认
关于keepass db v1格式的知识是从源代码中收集的 cpan中keepassx-0.4.3和File::KeePass的代码。
Keepassx 0.4.3拥有
Copyright (C) 2005-2008 Tarek Saidi <tarek.saidi@arcor.de> Copyright (C) 2007-2009 Felix Geyer <debfx-keepassx {at} fobos.de>
Paul Seamons <paul at seamons dot com>