1. 对于我们使用<encode></encode>的问题,由于我们是在文本中赋予一个encode标签,在加密的时候将两个标签分别加到开头和末尾,解密的时候通过搜索这两个标签进行相应的解密。这时就会发生几种情况,这些都是需要解决的:
(1) 如果在文档中出现一个<encode>字符串。那么程序将会在解码的时候误把这个当作起始符,然后将从这个代码开始到下一个加密块的</encode>结束处进行解码操作,造成操作错误。
(2) 重复加密的问题,用户可能在加密之后对一个区域进行重复加载,这种操作怎么防止或者怎样做能做到不出错。
(3)
(4)
解决办法:
(1) 对于这种情况最好的解决办法就是将<encode>代码嵌入到xml中去,这样就能够很好的解决这个问题,同时对于显示的问题也能很好的解决(所以在后续开发中要着重找方法去解决这个部分)。对于这个问题有第二种简单的处理方法,由于只有出现<encode>和</encode>两种标签程序才会出错,那么在加密前事先在文档中搜索这两个标签,对于有这两个标签的地方我们先将其修改成为其他的占位符(也可为其他的标签),然后在加密时就不会出现冲突的问题。在解密时可以先解密,然后再将这些占位符改换回来。但是这样最最重要的需要考虑到用什么占位符,因为也有可能这种占位符和文档中的其他符号又起冲突造成一个循环问题。所以我们可以在加密的最前面给一些描述性的语言,描述这些占位符的位置等。
(2) 解决方案一:在用户每次对一个区域进行加锁之后就将这个加锁区域锁起来,如果用户要修改则需要键入密码,并在同时提示用户做了重复加锁操作可能出现不能挽回的错误。
解决方案二:添加一个文档锁按钮,在用户将所有的密码加密完毕之后点击这个按钮对所有的加密部分进行加锁。
(3)
(4)
(5)
2. 对于加密处文档保护的更新
加入加密处文档保护功能,让用户不能修改加密处的文档。对于那些无权查看加密文档的人,当然也不应该有随意进行修改的权利。而对于其他部分拥有修改的权利。
文档加密保护实现步骤:
(1) 实现时间:在加密完成之后完成
(2) 首先搜索整个文档,找出所有的<encode>标签段
(3) 对每个<encode>标签段进行文档保护。
(4)
(5)
(6)
在做文档保护的时候发现的问题:
(1) 对于文档保护,不能选择部分document保护,而是将全局文档进行了保护,怎么将部分进行保护是一个研究的部分。
3. 添加注释
对于文档加密部分可以给其添加上注释,说明这一部分是加密部分。这种方法是水印的一个简化版,但是那种还是比较好,这种也可以说明一些问题
4. 添加双划线
对于加密部分给予双划线提醒。
5. 关于用户体验的一个问题:
用户在一开始加密的方法:
(1) 用鼠标拖拽
(2) 使用搜索功能,加密所有含有关键字的部分
(3)
(4)
对于以上这些加密方法的不同,也自然有着不同的用户体验情况:
(1) 用户打开一个保密文档,进行逐条解密,然后开始阅读或者修改。可是在用户修改之后最好能够给予用户一个按钮,将此文档之前加密的位置从新加密起来。
(2)
6. 本加密程序基于Ribbon visual designer开发,而这个开发工具仅仅适用于office2007版本,所以如何向下兼容是一个很大的问题。
7.