java加密与解密课程设计王,文件加密与解密—Java课程设计报告

3a5429672e603c333e817469066cd8b7.gif文件加密与解密—Java课程设计报告

JAVAJAVA 课程设计课程设计 题目 文件的加密与解密 姓 名 学 号 班 级 日 期 指导老师 分 数 目 录 一、设计思路.3 二、具体实现.3 三、运行调试与分析讨论.8 四、设计体会与小结11 五、参考文献12 六、附录12 一、一、 设计思路设计思路 自从 Java 技术出现以业, 有关 Java 平台的安全性用由 Java 技术发展所引发的安全 性问题,引起了越来越多的关注。目前,Java 已经大量应用于各个领域,研究 Java 的 安全性对于更好地利用 Java 具有深远的意义。使用 Java 的安全机制设计和实现安全系 统更具有重要的应用价值。 本课程设计,主要实践 Java 安全中的 JCE 模块,包括密钥生成,Cipher 对象初始 化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现二、具体实现 本系统通过用户界面接收三个参数明文文件、密文文件、口令。采用 DES 加密算法, 密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS5-Padding 的分组填充算法。 因为 CBC 涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象 (Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解 密密钥三都密封到一个对象中了。口令的 hash 值作为产生密钥的参数。设计流程图如下所 示 设计文件加密解密的界面 实现hash算法,用于产生口令的hash值 实现由口令hash值产生密钥的算法 实现文件加密算法 加密按钮事件 实现文件解密算法 解密按钮事件 文件加密与解密设计流程图 本系统中,包含 Default,Shares,SecretKey,EncAndDec 四个包共 6 个类组成。定义的几个 参数MAX_BUF_SIZE 为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法 为 DES;加密模式是密码分组链(CBC)模式;分组填充方式是 PKCS5Padding。包和类 结构图如下所示 本课程设计,包和类结构图 Package Default - Class JCEDialog//文件加密解密窗口类 Package Shares - Class HashDigest、 Class byte2hex//密码 Hash 值生成类、 二进制转字符串类 Package SecretKey - Class GenerateKey//由密码 Hash 值生成秘密密钥类 Package EncAndDec - Class Dec、Class Enc//文件加密、解密类 以下为包中的类的方法实现说明 Package Shares 类结构图 Package Shares public class HashDigest 密码 Hash 值生成方类,使用默认构造方法。 public byte HashDigestString StrPassword 密码 Hash 值生成方法 MessageDigest对 象 生 成 , 使 用 类 的 getInstanceString Diges

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值