WindowsBuilder的DES文件加密系统实现
来源:互联网 发布:杨贵妃 山口百惠 知乎 编辑:程序博客网 时间:2024/04/30 08:44
WindowsBuilder基于DES简单文件加密系统
Maybion原创:
- WindowsBuilder可能是每个JavaME的程序员都了解的一项简单的技术,它涵盖了一些原来的GEF+EMF编程技术所没有的条件,比如自己绘制外观的layout布局,目前,WindowsBuilder已经占领了大部分java的windows平台平面级应用开发,已经走向市场化。
- 就目前的市场前景来看,就业形式不容乐观,国内软件行业虽然暴涨,但是日前java的就业率依然很低落,闲来无事,一年前给刘杰老师写了一个小的练手项目,当然对于编程大手来说这就算不上是项目,当然有些代买也是仿写网上的主流加密,底层并不用像C++那样自己构思算法。
主要思路
- WindowsBuilder画框
- 文件加密类
- 文件拖动入框显示文件路径类
- 随机生成密钥类
1. 安装eclipse WindowsBuilder插件
首先用eclipse搭建可视化组件,不要用老版本eclipse。具体方法请点击链接: 链接点击: [ 百度经验 ]
2.画框
GUI外观需要:
3.文件加密类
内容为:
public class DESEncrypt { Key key; public DESEncrypt(String str) { getKey(str);//生成密匙 } /** * 根据参数生成KEY */ public void getKey(String strKey) { try { KeyGenerator generator = KeyGenerator.getInstance("DES"); generator.init(new SecureRandom(strKey.getBytes())); this.key = generator.generateKey(); generator = null; } catch (Exception e) { throw new RuntimeException("Error initializing SqlMap class. Cause: " + e); } } /** * 文件file进行加密并保存目标文件destFile中 * * @param file 要加密的文件 * @param destFile 加密后存放的文件名 */ public void encrypt(String file, String destFile) throws Exception { Cipher cipher = Cipher.getInstance("DES"); // cipher.init(Cipher.ENCRYPT_MODE, getKey()); cipher.init(Cipher.ENCRYPT_MODE, this.key); InputStream is = new FileInputStream(file); OutputStream out = new FileOutputStream(destFile); CipherInputStream cis = new CipherInputStream(is, cipher); byte[] buffer = new byte[1024]; int r; while ((r = cis.read(buffer)) > 0) { out.write(buffer, 0, r); } cis.close(); is.close(); out.close(); JOptionPane.showMessageDialog(null, " 加密成功!", "消息提示", JOptionPane.INFORMATION_MESSAGE); } /** * 文件采用DES算法解密文件 * @param file 已加密的文件 * @param destFile * 解密后存放的文件名 */ public void decrypt(String file, String dest) throws Exception { Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.DECRYPT_MODE, this.key); InputStream is = new FileInputStream(file); OutputStream out = new FileOutputStream(dest); CipherOutputStream cos = new CipherOutputStream(out, cipher); byte[] buffer = new byte[1024]; int r; while ((r = is.read(buffer)) >= 0) { cos.write(buffer, 0, r); } cos.close(); out.close(); is.close(); JOptionPane.showMessageDialog(null, " 解密成功!", "消息提示", JOptionPane.INFORMATION_MESSAGE); }}
4.拖拽入框显示文件路径类
public class FileTransferHandler extends TransferHandler { /** * */ private static final long serialVersionUID = 1L; private JTextField textarea; public FileTransferHandler(JTextField filePathList) { this.textarea = filePathList; } public boolean importData(JComponent c,Transferable t) { try { List<?> files = (List<?>)t.getTransferData(DataFlavor.javaFileListFlavor); //FileReader reader = new FileReader((File)files.get(0)); //textarea.read(reader, null); Iterator<?> iterator = files.iterator(); while(iterator.hasNext()) { File f = (File)iterator.next(); if (f.isFile()) { textarea.setText(f.getAbsolutePath()); } else { textarea.setText("不是标准文件"); } } //reader.close(); return true; } catch (UnsupportedFlavorException ufe) { ufe.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return false; } public boolean canImport(JComponent c,D int num = random.nextInt(62); buf.Jappend(str.charAt(num)); } return buf.toString(); }}false; } }
5.生成随机密钥类
public String RandomString(int length) { String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); StringBuffer buf = new StringBuffer(); for(int i = 0 ;i < length ; i ++) { int num = ![这里写图片描述](http://img.blog.csdn.net/20150411120346045)andom.nextInt(62); buf.append(str.charAt(num)); } return buf.toString(); }}
6.成型图片:
- WindowsBuilder画框,github上有的皮肤包高大上了。
- 加密、解密成功后。
- 这是打开路径后的内容
。 - 拖拽文件至路径框上边,也可的到文件的绝对路径
是不是很高大上呢,看起来很复杂,其实实际写起来很简单,老师们在上学的时候都认为我的编程水平很差,只有做一些有用的东西才能有所体现。文件加密器就这样做完了,谢谢您的关注!
0 0
- WindowsBuilder的DES文件加密系统实现
- 基于DES的文件加密/解密的实现
- asp 的DES加密文件
- asp 的DES加密文件
- c语言实现记事本文件的 DES加密 解密
- Java实现文件的DES加密与解密算法
- javascript实现的DES加密
- java实现的des加密
- DES加密的python实现
- DES生成密钥文件实现加密解密
- 用DES对文件加密的程序
- 对文件进行对称的DES加密
- 关于des文件的加密,解密。
- (学习笔记)Java的3DES与DES加密实现
- DES加密系统
- 招人做关于运用DES和RSA算法的文件加密系统的毕设
- 用C实现DES的加密
- 3DES加密java的实现代码
- eclipse直接运行app正常,打包运行报错
- 教你如何不翻墙就可以快速更新AndroidSDK Manager中的内容
- maven+mybatis+mysql+mybatis Generator简单学习
- r6010 abort() has been called问题
- C语言之指针数组与数组指针
- WindowsBuilder的DES文件加密系统实现
- NSCharacterSet NSMutableCharacterSet
- TCP/IP协议三次握手与四次挥手流程解析
- 阿里巴巴研发C++笔试
- Brackets! Brackets!
- 杭电2054(A == B ?)详解
- 81. PHP 后期静态绑定
- jquery实现checkbox的全选与取消
- Filter及FilterChain的使用详解