如何DIY账号密码软件

加密算法分类

常见的加密分为对称加密和非对称加密,其中对称的加密算法有:DES、3DES、RC4、RC5、RC6以及AES等
常见的非对称加密有RSA、DSA,ECC、Diffie-Hellman等。
本文将以DES算法为例,举例说明如何DIY加密软件。

DIY软件

用Delphi搭建界面,其他编程语言也可以,搭建好之后,预留注册界面和登陆界面,如下:
如何DIY账号密码软件

  1. 如果用户名不存在或者用户名密码不匹配提示用户去注册,其中注册之后的原始数据(明文)采用DES算法进行加密,加密之后的数据存储到本地系统的注册表中,登陆时对其解密然后进行匹配。(存在注册表是一种比较笨的方法,可能更好的方案是存储到数据库之中。)
  2. 打开软件之后,进入管理界面,可以对当前用户名下的数据进行管理,管理方式为增删改查,直接调用SQL语句可能更好一些,由于数据量不大,本人就偷懒采用文本文件加密处理。
    其中存储方式参考LastPass的方式,存储一对Key.Value, Key为账号,采用明文方式,Value为DES加密处理,为了安全起见,可以采用两次DES加密,秘钥可以自定义。
    3.由于Key,Value存储在文本文件中容易被文本处理软件打开,因此,对字符串做编码,存储为bin格式文件,且每次修改之后会备份一次,且留一份新文件,如Data.bin,备份文件为Data201903090900.bin.bck。读写bin文件采用流的方式进行。
    至此完成了密码管理软件的初步设计。