JCA:实现DES在cbc模式下加密

 通过JCA实现DES/CBC文件加密解密

sun的网站上查找Java语言security包:查找到得是J2SE6JCA使用手册(http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html)。

阅读以上文档,获取DES/CBC加密模式的API,该文档中含有一个使用样例,通过阅读样例基本掌握利用JCA实现文件加密解密的方法。

通过编写代码实现文件加密解密并检查(DesEncrypter.java)。

使用swing实现GUI

swing构建简单的主界面(MainGUI.java):

 

密钥框(KeyPanel.java)JTextField,但是考虑到有些人只需要随机的16位的密钥,所以附加了一个密钥随机产生的内部类(class GenerateKey)。

 

为了方便用户,利用Java提供的JFileChoose类实现一个文件选择器(FilePanel.java):

 

 

为了保证用户界面友好,使用JOptionPane.showMessageDialog()来提醒用户。

另外,将文件加密解密调用分离出来(FileEncrypter.java),一是为了节省代码量,二是为了结构清晰——分离对文件的加密解密控制。

系统结构

系统UML类图如下:

uml

使用效果图

 

 

 

 

 

部分源代码

 

具体代码:

 

MainGUI.java

  

 

FilePanel.java

 


 

 

 

 

 

 


 

 

大缺陷:

没有认证机制

类的设计组合上有问题(看起来不是很好),需要重构~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值