ad_qqread_mid_big">利用des算法加密的步骤
(1)生成一个安全密钥。在加密或解密任何数据之前需要有一个密钥。密钥是随同被加密的应用程序一起发布的一段数据,密钥代码如下所示。
【生成一个密钥代码】
(2)加密数据。得到密钥之后,接下来就可以用它加密数据。如下所示。
【用密钥加密原始数据】
(3)解密数据。运行经过加密的程序时,classloader分析并解密类文件。操作步骤如下所示。
【用密钥解密数据】
将上述代码与自定义的类装载器结合就可以做到边解密边运行,从而起到保护源代码的作用。
结束语
加密/解密是数据传输中保证数据安全性和完整性的常用方法,java语言因其平台无关性,在internet上的应用非常之广泛。使用des算法加密java源码在一定程度上能保护软件的产权。 >>>更多专题请看java算法 加密算法专题
(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分析并解密类文件。操作步骤如下所示。
【用密钥解密数据】
| // 生成一个可信任的随机数源 securerandom sr = new securerandom(); // 从密钥文件中获取原始密钥数据 byte rawkeydata[] = util.readfile( keyfilename ); // 创建一个deskeyspec对象 deskeyspec dks = new deskeyspec (rawkeydata); // 创建一个密钥工厂,然后用它把deskeyspec对象转换成secret key对象 secretkeyfactory key factory = secretkeyfactory.getinstance( "des" ); secretkey key = keyfactory.generatesecret( dks ); // cipher对象实际完成解密操作 cipher cipher = cipher.getinstance( "des" ); // 用密钥初始化cipher对象 cipher.init( cipher.decrypt_mode, key, sr ); // 获得经过加密的数据 byte encrypted data [] = util.readfile (filename); //执行解密操作 byte decrypteddata [] = cipher.dofinal( encrypteddata ); // 然后将解密后的数据转化成原来的类文件。 |
将上述代码与自定义的类装载器结合就可以做到边解密边运行,从而起到保护源代码的作用。
结束语
加密/解密是数据传输中保证数据安全性和完整性的常用方法,java语言因其平台无关性,在internet上的应用非常之广泛。使用des算法加密java源码在一定程度上能保护软件的产权。
| 上一页 1 2 |
| 相关内容:网络编程 通信 设计 加密 java |
| 【收藏此页】【大 中 小】【打印】【关闭】 | |
| 上一篇:java代码编程规范 下一篇:java web start开发指南(一) 10万个软件免费高速下载 | |
| ||||||||||||||
|
|
-
关于我们
公司介绍 最新动态 联系我们 -
产品与服务
域名注册 jsp空间 php空间 -
常见问题
空间操作手册 网站备案相关 退款相关问题 -
技术支持
技术 QQ :178966803 联系电话:13616026886 联系邮箱:fjjsp@vip.163.com
扫描关注微信公众号
闽公网安备 35060202000074号