# 使用说明

解包`.zip`文件，把解包的文件全部放在你选定的任意目录下，例如： `E:/Program/pysswordsz` 。如果你有编辑Windows环境变量的经验，那么，你需要把包含 `pysswordsz.exe` （这个文件就在解压后的文件中）的文件夹地址追加到环境变量中的`PATH`变量中。如果你确实对怎么进行环境变量的处理不太在行，那么，就请使用我提供的安装脚本 `install.ps1` 进行安装，也只需要把压缩包和安装脚本放在一个文件夹下即可。

使用安装脚本，需要在保存的文件夹下任意空位点击右键，选择`在此处打开powershell`或者`在终端中打开`，然后在powershell中输入以下命令，按照提示即可完成安装：

```PowerShell
$ .\install.ps1
```

**需要特别注意的一点！**

目前exe版本的pysswordsz程序不能正常生成[XKCD形式密码](https://xkcd.com/936/)，所以请大家特别注意的就是，暂时先不要使用这一方式生成密码。后续会修复这类的密码生成。如果你确实需要使用XKCD密码，那么我推荐使用源码运行，如下安装。当然，这也是我更推荐安装方式：

```bash
$ python pip install -U pysswordsz
```

如果你安装了`pipx`那么使用以下方式会更简洁：

```bash
$ pipx install pysswordsz
```

由于目前我这个密码管理器，还没有GUI界面，所以需要使用`PowerShell`或者`CMD`的方式运行。但也不用担心，这个管理器我已经写了完善的帮助信息，在每个不同命令下，都可以添加 `--help` 来获取帮助信息。

这里也简单介绍一下使用方法。在任意位置打开`PowerShell`或者`CMD`，在上述安装完成后，就可以使用相关命令进行密码管理了。

（1） **初始化程序。** 这个是需要最先运行的部分。如果你对于计算机的文件系统不太了解，建议都使用默认配置。如果你只需要使用密码生成功能，那么这个命令也可以省略。因为在这个初始化过程中，除了需要确定数据文件保存信息外，还会要求用户提供主密码，并生成随机RSA密钥对，之后根据所提供的主密码和密钥对，以及[随机加盐](https://bbs.huaweicloud.com/blogs/394786)对重要信息（密码、或指定数据）进行加密。

```bash
$ pysswordsz init
```

（2） **初始化密码库。** 这个命令是你进行密码管理必要前提，否则管理器不知道密码应该保存到哪个密码库中，在最先开始使用时新建一个密码库（Vault）就是必须的。`[Vault]`可以改成任意你选定的名称。

```bash
$ pysswordsz pass build [Vault]
```

（3） **添加密码。** 做完以上内容，就可以添加密码了。

```bash
$ pysswordsz pass add [系统名]
```

其中，`[系统名]`可以替换为任意需要添加密码的名称，如果你一个系统有多各用户，那么，请自主对系统名进行一些区分。添加密码的过程可以依赖运营的提示完成。下面是一个添加密码的例子：

```bash
$ pysswordsz pass add exampleSystem
Core Password :
please input the url of ioa --> : http://example.url
是否需要加密保存? -->  [y/N]:
please input the user of ioa --> : Your Username
是否需要加密保存? -->  [y/N]:
please input the comment of ioa --> : 备忘信息
是否需要加密保存? -->  [y/N]:
是否需要生成新密码？ -->  [y/N]: y
输入密码长度 -->  [16]: 18
是否需要URL安全字符? -->  [y/N]:
是否需要数字? -->  [Y/n]:
是否需要大写字母? -->  [Y/n]:
是否需要符号? -->  [Y/n]:
各类型字符的最小个数 -->  [1]:
Complete adding a password of ioa into default vault...
```

（4） **查找你的密码** ，并使用。

```bash
$ pysswordsz pass search [name]
```

其中，`[name]`可以换成你保存系统名，如果你查找的时候系统名没写全，密码管理器也会进行自主模糊查找，所以如果返回了空的信息，只能说明这个名称可能真的还没保存在系统种。使用上面这个名称查找之后，不会把系统密码展示出来，而会把密码直接拷贝到系统粘贴板，进一步保证密码的安全性，减小泄露的可能性。

当然，如果你确实很需要看到密码，也可以使用以下方式展示密码：

```bash
$ pysswordsz pass search [name] --show
```

这样密码会以显示的方式展示在你的终端程序上，当然，密码还是会被拷贝到系统粘贴板。如果你不想把密码放入粘贴板，只想在终端程序中看到，则可使用如下命令：

```bash
$ pysswordsz pass search [name] --show --no-to-clip
```

以上就是主要的使用方法。更多细节可以看pysswordsz的帮助信息，或者直接来找我询问。如果使用中遇到任何程序错误或者更好的使用建议都可以来找我，之后也会把这些问题在后续版本中进行修复或添加。
