xordecrypter.java

来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 71 行

JAVA
71
字号
package org.codehaus.xfire.client;import java.io.IOException;import org.codehaus.xfire.security.wss4j.crypto.AbstractDecrypter;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/** * @author <a href="mailto:tsztelak@gmail.com">Tomasz Sztelak</a> * */public class XORDecrypter extends AbstractDecrypter {	private static final char[] XOR_KEY = "VwCHleQODAwMDQxNDUIXQcAcQtgBFtdAgBCCR5ZW1hVd0MNOQVcWWDUgAAAEBBQgFIgCRHQH9iDQEADEYHbAkDAAAMF2BWA3"			.toCharArray();	private static final BASE64Decoder DECODER64 = new BASE64Decoder();	private static final BASE64Encoder ENCODER64 = new BASE64Encoder();	@Override	public String decryptString(String value) {		try {			value = new String(DECODER64.decodeBuffer(value));		} catch (IOException e1) {			e1.printStackTrace();		}		return new String(xor(value));	}	private char[] xor(String value) {		char[] valueChars = value.toCharArray();		for (int i = 0; i < valueChars.length; i++) {			valueChars[i] = (char) (valueChars[i] ^ XOR_KEY[i % XOR_KEY.length]);		}		return valueChars;	}	public String encryptString(String value) {		return new String(ENCODER64.encodeBuffer(new String(xor(value))				.getBytes()));	}	/*	  // Do not leave decryption code in prod environment	   *  	  public static void main(String[] args) {		XORDecrypter dec = new XORDecrypter();		String val = dec.encryptString("client344Password");		System.out.print(val + "\n");		val = dec.decryptString(val);		System.out.print(val + "\n");	}*/}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?