CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

网络安全,安全,网络安全设备,信息安全产品,网络安全新闻,信息安全市场分析,黑客攻防,防黑反黑技巧,黑客,网络安全技术,网络安全方案,病毒播报,最新病毒库,攻防技巧,入侵渗透,新闻,思科,Juniper,天融信,瑞星,金山,江民,卡巴斯基,赛门铁克, 趋势,绿盟科技,联想网御,MCAFEE,安氏,冰峰网络,网络入侵,木马,病毒,病毒分析,木马分析,样本分析,木马样本分析,病毒样本分析,杀毒软件

您现在的位置: IT专家网 > 安全子站 > 安全技巧

如何利用DES加密的算法保护Java源代码

作者: 佚名,  出处:IT实验室, 责任编辑: 张帅, 
2007-12-20 02:00
  Java源代码经过编译,由于JVM界面是完全透明的,Java类文件能够很容易通过反编译器重新转换成源代码。因此,所有的算法、类文件等都可以以源代码的形式被公开,使得软件不能受到保护……

  利用DES算法加密的步骤

  (1)生成一个安全密钥。在加密或解密任何数据之前需要有一个密钥。密钥是随同被加密的应用程序一起发布的一段数据,密钥代码如下所示。

  生成一个密钥代码

  // 生成一个可信任的随机数源

  Secure Random sr = new SecureRandom();

  // 为我们选择的DES算法生成一个KeyGenerator对象

  KeyGenerator kg = KeyGenerator.getInstance ("DES" );

  Kg.init (sr);

  // 生成密钥

  Secret Key key = kg.generateKey();

  // 将密钥数据保存为文件供以后使用,其中key Filename为保存的文件名

  Util.writeFile (key Filename, key.getEncoded () );

  (2)加密数据。得到密钥之后,接下来就可以用它加密数据。如下所示。

  用密钥加密原始数据

  // 产生一个可信任的随机数源

  SecureRandom sr = new SecureRandom();

  //从密钥文件key Filename中得到密钥数据

  Byte rawKeyData [] = Util.readFile (key Filename);

  // 从原始密钥数据创建DESKeySpec对象

  DESKeySpec dks = new DESKeySpec (rawKeyData);

  // 创建一个密钥工厂,然后用它把DESKeySpec转换成Secret Key对象

  SecretKeyFactory key Factory = SecretKeyFactory.getInstance("DES" );

  Secret Key key = keyFactory.generateSecret( dks );

  // Cipher对象实际完成加密操作

  Cipher cipher = Cipher.getInstance( "DES" );

  // 用密钥初始化Cipher对象

  cipher.init( Cipher.ENCRYPT_MODE, key, sr );

  // 通过读类文件获取需要加密的数据

  Byte data [] = Util.readFile (filename);

  // 执行加密操作

  Byte encryptedClassData [] = cipher.doFinal(data );

  // 保存加密后的文件,覆盖原有的类文件。

  Util.writeFile( filename, encryptedClassData );

  (3)解密数据。运行经过加密的程序时,ClassLoader分析并解密类文件。操作步骤如下所示。

共3页。 9 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    • 解析如何实现自动化的IT安全合规管理评论
      能够解决企业IT、审计和运作团队共同问题的方法一直是企业IT管理者所迫切希望的,自动化的企业合规管理将会及时的发现并掌控企业实际存在的各种问题。
    • 视频讲解:MS Windows系统安全评论
      本文将由7all为IT专家网用户讲解MS Windows操作系统。
    • 浅谈逆向工程在网络安全研究中的运用评论
      从某种程度上来说,计算机软件的逆向工程技术主要过程为分析计算机程序,在分析计算机程序的过程中,逐渐建立起高于源代码级别的更抽象层次的程序运行过程。
    • 评估Vista内核模式的安全性评论
      Windows Vista与之前的MS Windows版本(包括Windows XP SP2)相比增加了很多的安全性。Vista新安全性的特征可以包括驱动签名、PatchGuard、内核模式代码完整性检查等。

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i