11 lines
2.2 KiB
Plaintext
11 lines
2.2 KiB
Plaintext
Create a #new project:
|
||
功能主要是负责给已经知道的文件进行“暗码”(即从文件上看不到的一个码,但可以使用客户端对该文件进行解读它上面的这个码),具体细节如下:
|
||
1、系统由客户端和服务器端组成,客户端主要运行在windows平台,可以使用以C#语言实现,服务器端部署在ubuntu server上面,随便使用什么技术架构都行。
|
||
2、客户端由两个独立的软件组成,一个软件负责给文件“写入暗码”,另一个岀负责“读出”文件的暗码,一个文件有2个暗码(上传暗码,下载暗码)。
|
||
3、负责写入暗码的客户端软件提供图形界面包括:
|
||
一个文件选择框用来选择需要写入暗码的目标文件;要写入的上传暗码的文本框,要写入的下载暗码的文本框。
|
||
一个开始写入的按钮,要实现的功能为:对目标文件进行sha提取哈希摘要,然后将摘要信息和上传暗码以及下载暗码发送给服务器后端,并获得返回值,如果成功则提示对该文件“写入暗码成功”,否则提示失败。
|
||
4、服务器端接到信息后,将上述信息写入数据库,一共5个字段:自增ID,文件的SHA摘要,上传暗码,下载暗码,写入时间戳。
|
||
5、负责“读取暗码”的客户端软件提供图形界面包括:一个可以选择目标文件夹的文件夹选择框;一个开始读取暗码的按钮;一个表格控件,一共包括4列(文件名,上传信息,下载信息,暗码写入时间)。
|
||
用户点击开始读取按钮后,递归枚举指定文件夹里面的文件,提取它们的SHA摘要,将将摘要发送给服务器端,服务器端根据摘要去数据库中提取信息,如果没有匹配则返回none,如果匹配上,则将相应的暗码数据返回给客户端。
|
||
客户端收到信息后解析数据并在表格中显示结果:如果有匹配,则文件名显示该文件的文件名,上传信息显示上传暗码,下载信息显示下载暗码,暗码写入时间显示当时的写入时间戳(以YMD-H:M:S格式显示);如果不匹配,则除文件名这一列外,其它各列均显示“无” |