java代码编译加密 javajar包加密

java程序加密都看不到java代码编译加密的java代码编译加密,
java程序分为java代码编译加密:
编辑
编译
解释
运行
运行的都是.class字节码文件java代码编译加密,看不到源文件的 , 你不用操心
采纳即可
java项目如何加密?Java基本的单向加密算法java代码编译加密:
1.BASE64 严格地说 , 属于编码格式,而非加密算法
2.MD5(Message Digest algorithm 5,信息摘要算法)
3.SHA(Secure Hash Algorithm,安全散列算法)
4.HMAC(Hash Message Authentication Code,散列消息鉴别码)
按 照RFC2045的定义,Base64被定义为java代码编译加密:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式 。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)
常见于邮件、http加密 , 截取http信息 , 你就会发现登录操作的用户名、密码字段通过BASE64加密的 。
主要就是BASE64Encoder、BASE64Decoder两个类 , 我们只需要知道使用对应的方法即可 。另 , BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充 。
MD5
MD5 -- message-digest algorithm 5 (信息-摘要算法)缩写,广泛用于加密和解密技术,常用于文件校验 。校验java代码编译加密?不管文件多大,经过MD5后都能生成唯一的MD5值 。好比现在的ISO校验,都 是MD5校验 。怎么用?当然是把ISO经过MD5后产生MD5的值 。一般下载linux-ISO的朋友都见过下载链接旁边放着MD5的串 。就是用来验证文 件是否一致的 。
HMAC
HMAC(Hash Message Authentication Code,散列消息鉴别码 , 基于密钥的Hash算法的认证协议 。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个 标识鉴别消息的完整性 。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输 。接收方利用与发送方共享的密钥进行鉴别认证 等 。
如何对java的class类进行加密可以使用Virbox Protector Standalone 加壳工具对java的class类进行加密,支持各种开发语言的程序加密 。可防止代码反编译 , 更安全,更方便
产品简介
Virbox Protector Standalone提供了强大的代码虚拟化、高级混淆与智能压缩技术,保护您的程序免受逆向工程和非法修改 。
Virbox Protector Standalone 将被保护的程序代码转换为虚拟机代码,程序运行时 , 虚拟机将模拟程序执行,进入和离开虚拟机都有高级代码混淆 。虚拟机配合代码混淆可以达到很好的保护效果,尤其是开发者的私有逻辑 。高级混淆利用花指令和代码非等价变形等技术 , 将程序的代码 , 转换成一种功能上等价,但是难于阅读和理解的代码,可充分干扰静态分析 。应用程序的解压缩含有动态密码 , 让一切自动脱壳工具失效,有效的阻止.Net、PE 程序的直接反编译 。
特点
多种加密策略:代码虚拟化、高级混淆、智能压缩
性能分析:智能分析引擎,一键分析各个函数模块调用的次数
支持多种开发语言:多种开发语言加壳支持
源码级保护:保护到汇编级别,c#保护IL级别
免费更新:免费版本升级
怎样为一个java程序加密? 谢谢只给编译后的.jar文件,不给.java文件
不过要说明的是 , java因为是字节码,所以没有办法防止被反编译 。
最多也就是做一下代码混淆,比如把方法或变量名改成无意义的名称,或者加一些完全无用的代码进去,让恶意攻击的人难以看懂
JAVA程序加密,怎么做才安全程序加密?你说的是代码加密还是数据加密 。我都说一下吧 。
Java代码加密:
这点因为Java是开源的,想达到完全加密,基本是不可能的,因为在反编译的时候 , 虽然反编译回来的时候可能不是您原来的代码,但是意思是接近的 , 所以是不行的 。
那么怎么增加反编译的难度(阅读难度),那么可以采用多层继承(实现)方式来解决,这样即使反编译出来的代码 , 可读性太差,复用性太差了 。
Java数据加密:
我们一般用校验性加密,常用的是MD5,优点是速度快,数据占用空间小 。缺点是不可逆,所以我们一般用来校验数据有没有被改动等 。
需要可逆,可以选用base64 , Unicode,缺点是没有密钥 , 安全性不高 。
而我们需要可逆而且采用安全的方式是:对称加密和非堆成加密,我们常用的有AES、DES等单密钥和双密钥的方式 。而且是各种语言通用的 。
全部手动敲字,望采纳,下面是我用Javascript方式做的一系列在线加密/解密工具:
java加密的几种方式基本的单向加密算法:
BASE64 严格地说,属于编码格式 , 而非加密算法
MD5(Message Digest algorithm 5,信息摘要算法)
SHA(Secure Hash Algorithm,安全散列算法)
HMAC(Hash Message Authentication Code,散列消息鉴别码)
复杂的对称加密(DES、PBE)、非对称加密算法:
DES(Data Encryption Standard,数据加密算法)
PBE(Password-based encryption , 基于密码验证)
RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)
DH(Diffie-Hellman算法,密钥一致协议)
DSA(Digital Signature Algorithm , 数字签名)
ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)
代码参考:
/**
* BASE64加密
*
* @param key
* @return
* @throws Exception
*/
public static String encryptBASE64(byte[] key) throws Exception {
return (new BASE64Encoder()).encodeBuffer(key);
}
/**
* MD5加密
*
* @param data
* @return
* @throws Exception
*/
public static byte[] encryptMD5(byte[] data) throws Exception {
MessageDigest md5 = MessageDigest.getInstance(KEY_MD5);
md5.update(data);
return md5.digest();
}
/**
* SHA加密
*
* @param data
* @return
* @throws Exception
*/
public static byte[] encryptSHA(byte[] data) throws Exception {
MessageDigest sha = MessageDigest.getInstance(KEY_SHA);
sha.update(data);
return sha.digest();
}
}
/**
* 初始化HMAC密钥
*
* @return
* @throws Exception
*/
public static String initMacKey() throws Exception {
KeyGenerator keyGenerator = KeyGenerator.getInstance(KEY_MAC);
SecretKey secretKey = keyGenerator.generateKey();
return encryptBASE64(secretKey.getEncoded());
}
/**
* HMAC加密
*
* @param data
* @param key
* @return
* @throws Exception
*/
public static byte[] encryptHMAC(byte[] data, String key) throws Exception {
SecretKey secretKey = new SecretKeySpec(decryptBASE64(key), KEY_MAC);
Mac mac = Mac.getInstance(secretKey.getAlgorithm());
mac.init(secretKey);
return mac.doFinal(data);
}
【java代码编译加密 javajar包加密】java代码编译加密的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javajar包加密、java代码编译加密的信息别忘了在本站进行查找喔 。

    推荐阅读