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>

File::KeePass拥有

Paul Seamons <paul at seamons dot com>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cancel SQL语句与JDBC   java如何避免线程耗尽   JAVA字符串反转文件io中字符串的顺序   java Datagramsocket:如何接收(…)处理数据包的碎片   为什么通过Javascript访问DOM文档比Java更快?   java在安卓中为从X高度落下的球绘制高度v/s时间图   接收活动的java Android实用程序方法   java如何使用时间线设置按钮的动画?   当getItemCount()大于0时,java JComboBox会显示空白区域   java使用camelbindy或beanio解析keyvalue文本文件   java Ant在中找不到类。它制作的jar文件   java这个XML/XSD有什么问题?   java如何从cookie中获取会话id?