在当今数字化时代,每个人都拥有大量的在线账户,每个账户都有其独特的密码。为了安全起见,不应该重复使用相同的密码,但这也意味着需要记住大量的密码。幸运的是,有像Password Safe(以下简称PS)这样的程序可以帮助存储和管理这些密码。然而,很多时候并不在存放PS数据库的电脑旁,但迫切需要某个密码。基于Svante Seleborg(为Windows XP/Vista开发了PS Reader库)和Alphons(将其修改以在Windows Mobile上工作)的杰出工作,创建了一个图形用户界面(GUI),并对其进行了一些优化以实现快速搜索。
程序需要.NET Compact Framework 3.5以及Windows Mobile(2003, 5, 6)。程序目前还处于非常初级的阶段:PS存档必须被命名为pass.psafe3
并且放置在设备的根目录下的My Documents
文件夹中(而不是内部存储、SDMMC、存储卡等)。此外,这个文件可以很容易地与电脑上的文件同步。
Svante创建了原始的Password Safe Reader库,因此大部分的艰苦工作已经在他的文章中描述了。Alphons修改了库以使其在Windows Mobile操作系统上工作。创建的GUI工作方式如下:程序加载后,点击“打开文件”,程序将使用ADO.NET的Binding Source填充一个DataGrid
。一旦在文本框中输入任何内容,DataGrid
将实时过滤,并且性能相当不错。
之后,可以点击单独的行以在上方显示用户和密码。这样做的原因是,有时密码可能非常长,并且在DataGrid
控件上难以阅读。
此外,程序还会在注册表中存储文件的密码,以避免每次都询问。如果认为设备可能会落入错误之手,可以使用“密码”菜单中的“重置密码”选项。
就标准而言,代码非常初级,但如果满足必要条件,它仍然可以正常工作。请注意,在GUI中,try
-catch
块几乎不存在。
在Windows Mobile应用程序上,屏幕空间非常有限!需要非常有创意并且非常高效,才能拥有一个有用的应用程序,而不需要拔出手写笔。
MSDN库关于.NET Compact Framework的信息不完整。当想要帮助DataGrid
时,得到的是Windows版本的信息,很多例子都不适用。在制作GUI的有限时间(3小时)里,没有找到列的自动调整大小方法和Datagrid
的行集合。
程序只能读取PS文件。首先,这是因为没有时间制作一个Writer库。常识告诉,现在可以很容易地制作。如果有人考虑开始这项工作,请意识到同步问题——当设备上有新版本,但ActiveSync设置为替换设备上的版本时会发生什么?其次,认为这没有太大的用处。大多数时候,在PC/笔记本电脑上创建账户,而不是在设备上,使用官方的PS程序。
V1.0 - 初始发布
随着移动设备的普及和功能的增强,越来越多地依赖于它们来完成日常任务,包括管理密码。本文介绍了如何使用.NET Compact Framework 3.5和Windows Mobile开发一个密码管理器应用程序。这个应用程序允许用户在移动设备上安全地存储和检索他们的密码,而不需要每次都输入密码。
为了开发这个应用程序,需要.NET Compact Framework 3.5和Windows Mobile操作系统。这个应用程序目前还处于非常初级的阶段,但它已经能够满足基本的密码管理需求。
程序的设计基于Svante Seleborg和Alphons的工作。Svante创建了原始的Password Safe Reader库,而Alphons将其修改以在Windows Mobile操作系统上工作。创建了一个图形用户界面(GUI),并对其进行了一些优化以实现快速搜索。
用户界面的设计考虑了Windows Mobile设备的屏幕空间限制。使用了DataGrid
控件来显示密码列表,并允许用户通过输入搜索条件来过滤结果。此外,还提供了一个选项,允许用户在点击某个行时显示用户的用户名和密码。
为了提高安全性,程序会在注册表中存储文件的密码,以避免每次都询问。如果用户担心他们的设备可能会落入错误之手,他们可以使用“重置密码”选项来更改密码。
在开发过程中,遇到了一些挑战。首先,MSDN库关于.NET Compact Framework的信息不完整,这使得在寻找解决方案时遇到了困难。其次,发现在有限的时间内很难找到DataGrid
控件的自动调整大小方法和行集合。