设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 软件教学 >> 编程开发 >> 如何有效防止Java程序源码被人偷窥
精品推荐
编程开发点击TOP10
·Java进阶:JNI使用技巧点滴
·e书工场--制造电子书全攻略
·专家手把手教你安装MYSQL数据库
·删除流氓的SQL Server2005
·我的第一个VB程序--“跟我来学VB神童教程”
·Authorware自制拼图游戏
·使用Quick CHM软件轻松编译CHM格式的文件
·DIY自己常用的软件eXeScope
·用Authorware制作自检测在线答题系统
·精细讲述SQL Server数据库备份多种方法
软件教学点击TOP10
·自己动手制作USB启动盘快速简单
·学用金山游侠修改游戏
·常用软件序列号
·几百个软件注册机
·用eBook Edit 自己动手制作exe型电子书
·应用软件注册码大全(最新整理) 1
·Windows Media Player同步歌词秀全攻略
·五分钟玩转电脑迷共享空间
·简单点击几个按钮 RM视频格式转换不再犯难
·液晶显示器测试小工具--Monitors Matter CheckScreen
精选专题

如何有效防止Java程序源码被人偷窥

作者: 来源:http://www.xgdown.com/ 时间:2007-7-25 7:40:54

如何有效防止Java程序源码被人偷窥(4)   // 一个SecretKey对象
  SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( "DES" );
  SecretKey key = keyFactory.generateSecret( dks );
  // Cipher对象实际完成加密操作
  Cipher cipher = Cipher.getInstance( "DES" );
  // 用密匙初始化Cipher对象
  cipher.init( Cipher.ENCRYPT_MODE, key, sr );
  // 现在,获取数据并加密
  byte data[] = /* 用某种方法获取数据 */
  // 正式执行加密操作
  byte encryptedData[] = cipher.doFinal( data );
  // 进一步处理加密后的数据
  doSomething( encryptedData );
  步骤3:解密数据。运行经过加密的应用时,ClassLoader分析并解密类文件。操作步骤如Listing 5所示。 【Listing 5:用密匙解密数据】
  // DES算法要求有一个可信任的随机数源
  SecureRandom sr = new SecureRandom();
  byte rawKeyData[] = /* 用某种方法获取原始密匙数据 */;
  // 从原始密匙数据创建一个DESKeySpec对象
  DESKeySpec dks = new DESKeySpec( rawKeyData );
  // 创建一个密匙工厂,然后用它把DESKeySpec对象转换成
  // 一个SecretKey对象
  SecretKeyFactory keyFactory = SecretKeyFactory.getInstance( "DES" );
  SecretKey key = keyFactory.generateSecret( dks );
  // Cipher对象实际完成解密操作
  Cipher cipher = Cipher.getInstance( "DES" );
  // 用密匙初始化Cipher对象
  cipher.init( Cipher.DECRYPT_MODE, key, sr );
  // 现在,获取数据并解密
  byte encryptedData[] = /* 获得经过加密的数据 */
  // 正式执行解密操作
  byte decryptedData[] = cipher.doFinal( encryptedData );
  // 进一步处理解密后的数据
  doSomething( decryptedData );

  四、应用实例

  前面介绍了如何加密和解密数据。要部署一个经过加密的应用,步骤如下:

  步骤1:创建应用。我们的例子包含一个App主类,两个辅助类(分别称为Foo和Bar)。这个应用没有什么实际功用,但只要我们能够加密这个应用,加密其他应用也就不在话下。

  步骤2:生成一个安全密匙。在命令行,利用GenerateKey工具(参见GenerateKey.java)把密匙写入一个文件: % java GenerateKey key.data

  步骤3:加密应用。在命令行,利用EncryptClasses工具(参见EncryptClasses.java)加密应用的类: % java EncryptClasses key.data App.class Foo.class Bar.class

  该命令把每一个.class文件替换成它们各自的加密版本。

  步骤4:运行经过加密的应用。用户通过一个DecryptStart程序运行经过加密的应用。DecryptStart程序如Listing 6所示。 【Listing 6:DecryptStart.java,启动被加密应用的程序】

import java.io.*;
共7页 9 7 [1] [2] [3] [4] [5] [6] [78 :>

如何有效防止Java程序源码被人偷窥 相关文章:
如何有效防止Java程序源码被人偷窥 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com