# 导出与导入纯文本文件格式

警告: 从一个 Password Safe 数据库导出敏感信息为一个文本文件存在严重的安全后果。 该操作将创建一个无保护的密码数据库副本。在不充分使用与其它作用后请适时删除该副本及擦除数据 (例如: 第三方 “粉碎” 文件公用程序)。导出的敏感数据事实上将绕开 Password Safe 程序的安全措施。

备注: 导出与导入文本文件功能从 V3.06 开始后被改变。该页面描述了当前格式。

导出文本将:

- 文本文件以标题行作为开始
- 使用一个分隔符代替 多行备注字段的 “换行符” 及呈现在标题字段的句号 (‘.’)； 默认为 ‘»’ [Alt+0187]，如果需要则可以被覆盖。

导入文本假定存在:

- 文本文件以标题行作为开始。
- 使用一个分隔符恢复 多行备注字段的 “换行符” 及呈现在标题字段的句号 (‘.’)； 默认为 ‘»’ [Alt+0187]，如果需要则可以被覆盖。

目前标题行完整数据导出包含下列标记分隔的默认字段:

- 组/标题
- 用户名
- 密码
- 网址
- 自动导入
- 创建时间
- 修改密码时间
- 最后访问时间
- 密码失效日期
- 记录修改时间
- 历史密码
- 备注

在导出数据时，可以使用“高级”功能排除这些标题行字段中的许多记录。 高级选项同样允许用户指定导出项目的一个子集，显示如下:

在导入数据时，提供标题行必须包括“栏目标题”精确匹配上面的任何一个。如果存在“栏目标题”重复，在导入时只有最后一个数据被添加到项目；如果一个“栏目标题”不匹配上面的任何一个，栏目中的数据在导入时将被忽略。字段必须被字段分隔符分隔指定给导入文本对话框中的数据。

备注:

- 需要导入所有数据到 Password Safe 里，标题与密码字段 必须 存在和既不可间隔也不可空缺，因为这里将添加一个新项目到现有数据库中。

- 这里并没有与“栏目标题”相似的限制。Password Safe 将提供标题行正确添加规定数据到右边的字段中。

## 数据格式

栏目标题/字段 | 注释
组/标题 | 如呈现， 组被句号 (‘.’) 分隔。标题字段不能空格、空缺或包含分隔符。
用户名 |
密码 | 不能空格或空缺。
网址 |
自动导入 |
创建时间 | 查看下列备注 1
修改密码时间 | 查看下列备注 1
最后访问时间 | 查看下列备注 1
密码失效日期 | 查看下列备注 1
记录修改时间 | 查看下列备注 1
历史密码 | 查看下列备注 2
备注 | 备注字段应加上双引号 (“这样”)。 备注字段不应包含分隔符，因为导入后将被转移到一个新行。

备注:

1 | 时间字段可为下列 3 个格式之一:

1. yyyy/mm/dd hh:mm:ss 例如: 2007/01/26 19:31:25
2. ddd MMM dd hh:mm:ss yyyy 例如: 星期五 一月 26 19:31:25 2007
3. yyyy-mm-ddThh:mm:ss 例如: 2007-01-26T19:31:25
4. 0 撤销复位
5. 即时 使用导入操作时间

位置:

- yyyy 完整年份 值在 1970 至 2038之间。
- mm 月份 例如: 01 表示一月，02 表示二月 等等。
- dd 一个月中的第几日。
- MMM 月份简易格式 例如: Jan 表示一月，Feb 表示二月 等等。
- ddd 星期的简易格式 例如: Mon 表示星期一，Tue 表示星期二 等等。
- hh 使用 24 小时计时。
- mm 分
- ss 秒

备注: 格式 "2" 是以 ANSI C 函数 "`asctime`"(将时间和日期以字符串格式表示) 导出与格式 "3" 遵照 ISO 8601 标准导出。

2 | 历史密码 的表示在导出项目记录为一个文本字段，包括一个标题然后为所需旧密码项目数量:

历史密码标题:

- 1 十六进制数字 该项目保存历史密码状态 (0 = no; 1 = yes)
- 2 十六进制数字 在该项目的最大项目编号
- 2 十六进制数字 当前保存项目编号

每个历史密码项目:

- 8 十六进制数字 当时的旧密码设置
- 4 十六进制数字 旧密码长度
- 字符串 旧密码