众所周知 java开发语言提供了很方便的开发平台 而且开发出来的程序很容易在不同的平台上面进行移植 现在越来越多的人使用它开发软件
Java有了它方便的一个方面 但是他同时也带给了开发者一个烦蔽锋恼 这就是保护的办法不多 而且大多数不是很好用 这样自己辛饥并基苦开发出来的程烂谨序很容易被人反编译过来而据为己有
一般情况下 大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱以达到没有办法来反编译观看源代码 但是这种办法在网上很容易找到相关的软件来重新整理 那么这个混编只能控制一些本来也没有办法动您的软件的人 而对于一些掌握工具的人几乎是透明的 还有就是利用硬件加密锁 但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用 只要反编译他们 就很容易把一些api调用去掉 这样硬件加密锁也就不起作用了 但是现在到底有没有好的办法呢?
lishixinzhi/Article/program/Java/gj/201311/27444
程序加密?你说的是代码加密还是数据加密。我都说一下吧。
Java代码加密:
这点因为Java是开源的,想达到完全加密,基本是不可能的,因为在反编译的时候,虽然反编译回来的时候可能不是您原来的代码,但是意思是接近的,所判弊以是不行的。
那么怎么增加反编译的难度(阅读难度),那么可以采用多层继承(实现)方式来解决,这样即使反编译出来的代码,可读性太差,复用性太差盯冲了。
Java数据加密:
我们一般用校验性加密,常用的是MD5,优点是速度快,数据占用空间小。缺点是不可逆,所以我们一般用来校验数据有没有被改动等。
需要可逆,可以选用base64,Unicode,缺点是没有密钥,安全性不高。
而我们需要可逆而凯冲歼且采用安全的方式是:对称加密和非堆成加密,我们常用的有AES、DES等单密钥和双密钥的方式。而且是各种语言通用的。
全部手动敲字,望采纳,下面是我用Javascript方式做的一系列在线加密/解密工具:
http://www.sojson.com/encrypt.html欢迎分享,转载请注明来源:内存溢出
评论列表(0条)