Java的安全性主要体现在以下几个方面:
使用引用取代了指针,指针的功能强大,但是也容易造成错误,如数组越界问题。
拥有一套异常处理机制,使用关键字 throw、throws、try、catch、finally
强制类型转换需要符合一定规则
字节码传输使用了加密机制
运行环境提供保障机制:字节码校验器->类加载器->运行时内存布局->文件访问限制
不用程序员显示控制内存释放,JVM 有垃圾回收机制
程序加密?你说的是代码加密还是数据加密。我都说一下吧。
Java代码加密:
这点因为Java是开源的,想达到完全加密,基本是不可能的,因为在反编译的时候,虽然反编译回来的时候可能不是您原来的代码,但是意思是接近的,所以是不行的。
那么怎么增加反编译的难度(阅读难度),那么可以采用多层继承(实现)方式来解决,这样即使反编译出来的代码,可读性太差,复用性太差了。
Java数据加密:
我们一般用校验性加密,常用的是MD5,优点是速度快,数据占用空间小。缺点是不可逆,所以我们一般用来校验数据有没有被改动等。
需要可逆,可以选用base64,Unicode,缺点是没有密钥,安全性不高。
而我们需要可逆而且采用安全的方式是:对称加密和非堆成加密,我们常用的有AES、DES等单密钥和双密钥的方式。而且是各种语言通用的。
全部手动敲字,望采纳,下面是我用Javascript方式做的一系列在线加密/解密工具:
http://www.sojson.com/encrypt.html欢迎分享,转载请注明来源:内存溢出
评论列表(0条)