自定义加解密字节数据的加密解密方法
package com; import java.io.UnsupportedEncodingException; /** * * String decrypt and encrypt * */ public class MyEncryptUtil { private static String key = "Crackersandthethiefwillsuffermisfortune"; private static String encoding = "utf-8"; public static String getKey() { return key; } public static void setKey(String key) { MyEncryptUtil.key = key; } public static String getEncoding() { return encoding; } public static void setEncoding(String encoding) { MyEncryptUtil.encoding = encoding; } public static String encrypt(String str) { return getString(encrypt(getByteArray(str))); } public static String decrypt(String str) { return getString(decrypt(getByteArray(str))); } /** * encrypt * * @param buffer * to be encrypted * @return encrypt result */ public static byte[] encrypt(byte[] buffer) { int pos, keylen; pos = 0; byte[] KEYVALUE = null; try { KEYVALUE = key.getBytes(encoding); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } keylen = KEYVALUE.length; for (int i = 0; i < buffer.length; i++) { buffer[i] ^= KEYVALUE[pos]; pos++; if (pos == keylen) pos = 0; } return buffer; } /** * decrypt * * @param buffer * to be decrypted * @return decrypt result */ public static byte[] decrypt(byte[] buffer) { return encrypt(buffer); } /** * trans * * @param buffer * @return if excption null */ public static String getString(byte[] buffer) { try { return new String(buffer, encoding); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } } /** * * @param str * @return if excption null */ public static byte[] getByteArray(String str) { try { return str.getBytes(encoding); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } } public static void main(String[] args) { try { MyEncryptUtil.setEncoding("gbk"); String ens= MyEncryptUtil.encrypt("id=12&idno=120020120210223&name=faasss中文" ) ; System.out.println(ens); String src= MyEncryptUtil.decrypt(ens); System.out.println(src); } catch (Exception e) { e.printStackTrace(); } } }