JAVA加密解密要用到的JAR包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA加密解密要用到的JAR包相关的知识,希望对你有一定的参考价值。

如题 急需

一般java加密解密都需要jar包的,不同的加解密方式对应
不同的加解密包,一般加解密方式有这么几种。
资料链接:http://www.doc88.com/p-19252566394.html
参考技术A   3DES加密解密算法 jce.jar  security/US_export_policy.jar  security/local_policy.jar  ext/sunjce_provider.jar 参考技术B 不用阿,里面提供了进行md4加密的类,直接用就可以了的。

java的jar包加密及使用

由于项目要求(虽然我觉得代码没什么机密可言...),写好的jar包需要做一定加密处理

这里提供两种办法,一种奇葩,一种通用

1. 直接修改jar文件:

具体步骤:

  在代码中插入一段不会运行的到的代码

1     private class Invalid{
2         private Invalid() {
3             
4         }
5     }

 

  使用eclipse打包文件,右键export > java > JAR file > finish

  使用解压软件打开jar包。记事本打开...$Invalid.class文件,去掉里面的d

  # 最好另存外面,然后把里面的删了再拖进来,貌似不能直接保存

加密效果:

  好像解压后class文件仍旧可以破解

方法缺陷:

  如上

2.使用Proguard混乱工具

具体步骤:

  下载Proguard

  推荐下载5.X版本,和java8更兼容,而4.X版本和java7兼容   

  # 不然会出现Unsupported class version number [52.0] 的错误

  可以在CSDN上下载(http://download.csdn.net/download/kong_gu_you_lan/9637131)

  # 因为下这个做了好久的奖赏任务。。有个是邮箱验证成功出来的两个字是什么,直接填了“登录”,哈哈

  下载后解压,点开Proguard5.X>bin>proguardgui.bat

  使用Proguard

  左侧input/output,在右边add input添加需要加密jar包,add output自己命名一个导出jar包,下方的library中,有一个默认的rt.jar,如果没有引入什么自定义jar文件,直接这个默认就好

  左侧obfuscation,选择图中这几项即可,其中第2、3个勾勾对应的文件a.txt是混淆函数名,b.txt是混淆类名

  # 其实就是瞎编几个类名和函数名,一个名字占一行

  

   左侧Shrinking,最上面的Shrink去掉

  # 不然会如下报错,The output jar is empty. Did you specify the proper \'-keep\' options?

  其他默认,点击左侧Process > Process 加密完成

加密效果:

  还可以

方法缺陷:

  无法对抗功能更加强大的反编译软件

 

 

以上是关于JAVA加密解密要用到的JAR包的主要内容,如果未能解决你的问题,请参考以下文章

java的jar包加密及使用

java实现AES/CBC/pack5padding加解密算法

java的加密解密

java:编写jar包加密工具,防止反编译

Jmeter测试带加密参数的接口

Java Class 加密工具 ClassFinal