key 发表于 21-11-2009 21:36:43

基本写完我的密码管理软件:Android

首先感谢我们民工群里的同学的热情帮助,大家的讨论给我很多启发。

这是一个很安全的密码管理软件,同时又能平台无关的进行备份、拷贝、传送等功能。
原理大致如下:

所有数据都存贮在一个数据库里。在用户第一次使用时,系统会生成一串随机数据作为其他数据的密钥,
结合用户设定的用户名、密码,使用DES算法对密钥本身进行加密(这里不是太有兴趣讨论DES算法本身的强度),
生成一个密钥密文,存入数据库。

用户登陆系统,需要提供用户名和密码。系统利用这个信息尝试对密钥密文进行解密。解密失败就相当于登陆失败。

随后用户开始使用系统,系统的绝大部分数据都会进行加密存放。算法还是采用DES算法,密钥就是系统之前产生
的那串随机串。

系统的安全性依靠DES算法和用户的密码强度。由于密钥加密结合了用户名,而用户名可以是中文,
所以理论上根本没有暴力破解的可能性。即使程序出了错,让没有密码的用户登陆了系统,但因为用户没有真正的
密码,解不出密钥,所以根本没有作为。

系统的移植性。整个加解密过程都是采用标准算法,生成的数据以字符串形式存贮。可以直接把数据库文件拷贝使用,
也可以把数据库dump出来备份。只要你记住自己的用户名和密码,即使有一天我不再维护这个程序,数据一样有效。

这套程序现在已经开源放在网上,有兴趣的同学可以拿来参考一下。
business layer/GUI/db这三个部分的基本上分离好了,所以如果你的目标系统不是android,也不难移植。
如果你对我的程序感兴趣,麻烦你告诉我一声。

someonehappy 发表于 21-11-2009 21:42:24

楼主真是个多产的人

key 发表于 21-11-2009 22:08:30

忘了给出开源代码的路径了:

在线看:
http://code.google.com/p/bravereader/source/browse/trunk/brave-id-man/

svn:

svn co http://bravereader.googlecode.com/svn/trunk/brave-id-man




原帖由 key 于 21-11-2009 22:36 发表 http://www.freeoz.org/bbs/images/common/back.gif
首先感谢我们民工群里的同学的热情帮助,大家的讨论给我很多启发。

这是一个很安全的密码管理软件,同时又能平台无关的进行备份、拷贝、传送等功能。
原理大致如下:

所有数据都存贮在一个数据库里。在用户第 ...

key 发表于 21-11-2009 22:12:59

这些小程序都是少于两天的工作量(指第一个可用版本),
所以基本上能在我心血来潮期间写完。


原帖由 someonehappy 于 21-11-2009 22:42 发表 http://www.freeoz.org/bbs/images/common/back.gif
楼主真是个多产的人

key 发表于 21-11-2009 22:20:28

接下来可能想写个记事本。
手机上的记事本,如果没有加密功能,
基本上就没有什么用了。现在我可以利用这套系统的加密实现来写记事本。

不过在写记事本程序之前,我要考虑要不要先写个输入法。
我是用五笔的,现在android上的那个五笔输入法很有问题,根本就用不了。
而我手上是有86版的码库的,虽然只是GB2312。
Android上的输入法是有开源框架(日本人写的),
做起来应该不难。

原帖由 key 于 21-11-2009 23:12 发表 http://www.freeoz.org/bbs/images/common/back.gif
这些小程序都是少于两天的工作量(指第一个可用版本),
所以基本上能在我心血来潮期间写完。


someonehappy 发表于 22-11-2009 18:32:33

我很喜欢以前在windows mobile上用的那个梅花输入法。
可惜在iphone上没有。
我觉得很适合触摸屏的输入。

yuba 发表于 22-11-2009 19:10:50

原帖由 key 于 21-11-2009 23:12 发表 http://www.freeoz.org/bbs/images/common/back.gif
这些小程序都是少于两天的工作量(指第一个可用版本),
所以基本上能在我心血来潮期间写完。

量虽不多

但是经常来潮也实属不易

浪沧孤客 发表于 22-11-2009 22:19:51

这个值得关注一下
PS:怎么弄到DES加密算法?

ljbit 发表于 23-11-2009 15:48:21

原帖由 someonehappy 于 22-11-2009 19:32 发表 http://www.freeoz.org/bbs/images/common/back.gif
我很喜欢以前在windows mobile上用的那个梅花输入法。
可惜在iphone上没有。
我觉得很适合触摸屏的输入。
点讯梅花输入法,曾经也是我的最爱。不过最近被百毒收购了,遂决定抛弃之。

zycbob 发表于 23-11-2009 19:08:36

各位都很有才,我在这里统一加分了
|——————————————————————————————|
|          zycbob 威望       +300 我很赞同! 23-11-2009 00:00            |
|——————————————————————————————|

刘叔 发表于 23-11-2009 19:46:53

原帖由 yuba 于 22-11-2009 19:10 发表 http://www.freeoz.org/bbs/images/common/back.gif


量虽不多

但是经常来潮也实属不易

是啊是啊,赶上一次量多日子,就不得了啦 ;P

key 发表于 24-11-2009 21:05:27

DES is one of the algorithm implemented by JDK library.
If you're interested in DES algorithm, you can just look at the source code.

原帖由 浪沧孤客 于 22-11-2009 23:19 发表 http://www.freeoz.org/bbs/images/common/back.gif
这个值得关注一下
PS:怎么弄到DES加密算法?
页: [1]
查看完整版本: 基本写完我的密码管理软件:Android