java代码--加密解密

程序名称:Secret.java

程序内容:

package firststudy;
/**
 * 加密算法
 * @author web
 *
 */
public class Secret {

	public static void main(String[] args) {
		String str = "故人西辞黄鹤楼,烟花三月下扬州,孤帆远影碧空尽,唯见长江天际流。";
		char c = 'y';
		System.out.println("原始语句    :" + str + "\n");
		String ss = secret(str, c);
		System.out.println("加密后语句:" + ss + "\n");
		String sc = secret(ss, c);
		System.out.println("解密后语句:" + sc + "\n");
	}
	
	/**
	 * 加密算法: 将文字转换为字节数组,对数组 异或 操作进行加密.
	 * @param str
	 * @param c
	 * @return
	 */
	public static String secret(String str, char c) {
		byte[] bt = str.getBytes();
		for(int i=0; i<bt.length; i++) {
			bt[i] = (byte)(bt[i] ^ (int)c);					//对每个字符进行 异或 操作.
		}
		return new String(bt, 0, bt.length);
	}
}

运行结果:

众所周知,java开发语言提供了很方便的开发平台,而且开发出来的程序很容易在不同的平台上面进行移植,现在越来越多的人使用它开发软件。 Java有了它方便的一个方面,但是他同时也带给了开发者一个烦恼,这就是保护的办法不多,而且大多数不是很好用,这样自己辛苦开发出来的程序很容易被人反编译过来而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱以达到没有办法来反编译观看源代码,但是这种办法在网上很容易找到相关的软件来重新整理,那么这个混编只能控制一些本来也没有办法动您的软件的人,而对于一些掌握工具的人几乎是透明的,还有就是利用硬件加密锁,但大多数公司提供的硬件加密锁只是提供了一些dll的连接或简单的api调用,只要反编译他们,就很容易把一些api调用去掉,这样硬件加密锁也就不起作用了,但是现在到底有没有好的办法呢? 市场上现有的几款防止反编译工具其实都是改进了加载过程。但是加载到JAVA虚拟机后一样可以得到CLASS字节码的。 只要懂JAVA原理的人其实很用意破解的. JAVACOMPILE 这款工具就不一样了,javacompile 它是修改了虚拟机内核, 用户目录里没有需要的JAVA字节码,而是当JAVA需要调用函数的时候才通过网络下载相对应的已经二次编译的字节码,就算用户通过 CLASS.getClass 也得不到可以用来反编译字节码。 真正意义上保护了JAVA知识产权。 个人版限制编译30个CLASS文件,文件打包方式下载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值