`
zhanghan
  • 浏览: 188916 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

自己写的加密解密类

    博客分类:
  • Java
SUN 
阅读更多
没啥技术含量,就是使用java里面的异或,其他语言也有这种运算。所以吗,转换成as3的或其它的都是可以的。
import java.io.IOException;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Test {

	/**
	 * 加密
	 * 
	 * @param src
	 * @return
	 */
	public String encode(String src, String key) {
		if (src == null || src.equals(""))
			return "";
		byte[] b = src.getBytes(), k = key.getBytes();
		int len = b.length, klen = k.length;
		for (int i = 0; i < len; i++) {
			int index = i % klen;
			b[i] = (byte) (b[i] ^ k[index]);
		}

		return new BASE64Encoder().encode(b);
	}

	/**
	 * 解密
	 * 
	 * @param src
	 * @return
	 */
	public String decode(String src, String key) {
		if (src == null || src.equals(""))
			return "";
		String ret;
		try {
			ret = new String(new BASE64Decoder().decodeBuffer(src));
			byte[] b = ret.getBytes(), k = key.getBytes();
			int len = b.length, klen = k.length;
			for (int i = 0; i < len; i++) {
				int index = i % klen;
				b[i] = (byte) (b[i] ^ k[index]);
			}
			return new String(b);
		} catch (IOException e) {
			return "";
		}

	}

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		// 加解密的钥匙,这个一定要保管好
		String key = "1234567";
		Test t = new Test();
		String tmp = "这样也行吗";
		String tmp2 = t.encode(tmp, key);
		System.out.println("加密后:"+tmp2);
		System.out.println("解密后:"+t.decode(tmp2, key));

	}

}
分享到:
评论
1 楼 pch272215690 2010-06-19  
String tmp = "这样也行吗"; 
        String tmp2 = t.encode(tmp, key); 
        System.out.println("加密后:"+tmp2); 
        System.out.println("解密后:"+t.decode(tmp2, key)); 
这样不行,乱码了哦。。。。

相关推荐

Global site tag (gtag.js) - Google Analytics