解决方案 »

  1.   

    我们选择的是json数据传输方式,老板想让我们对中文加密,没遇见过啊
      

  2.   

    我使用Gson来做的,但是加密的话用http协议不就行了
      

  3.   

    对传输的内容进行加密后编码。aes、des、3des...比如des:
    import java.security.Key;
    import java.security.spec.AlgorithmParameterSpec;
    import javax.crypto.Cipher;
    import javax.crypto.SecretKeyFactory;
    import javax.crypto.spec.DESKeySpec;
    import javax.crypto.spec.IvParameterSpec;public class DES { public static String encode(String data, String DESkey) throws Exception {
    Cipher enCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");// 得到加密对象Cipher
    DESKeySpec keySpec = new DESKeySpec(DESkey.getBytes());// 设置密钥参数
    AlgorithmParameterSpec iv = new IvParameterSpec(DESkey.getBytes());// 设置向量
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");// 获得密钥工厂
    Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
    enCipher.init(Cipher.ENCRYPT_MODE, key, iv);// 设置工作模式为加密模式,给出密钥和向量
    byte[] pasByte = enCipher.doFinal(data.getBytes("utf-8"));
    return new String(BASE64.encode(pasByte));
    } public static String decode(String data, String DESkey) throws Exception {
    Cipher deCipher = Cipher.getInstance("DES/CBC/Nopadding");
    DESKeySpec keySpec = new DESKeySpec(DESkey.getBytes());// 设置密钥参数
    SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");// 获得密钥工厂
    Key key = keyFactory.generateSecret(keySpec);// 得到密钥对象
    deCipher.init(Cipher.DECRYPT_MODE, key,
    new IvParameterSpec(DESkey.getBytes()));
    byte[] pasByte = deCipher.doFinal(BASE64.decode(data.toCharArray()));
    return new String(pasByte, "UTF-8");
    }}
      

  4.   

    想省时间的话 你在传输的时候对字符进行 base64加密下  这个糊弄下你们老板肯定可以的,如果不行那就弄个可逆算法啊,MD5肯定是不能用的,这个不可逆,你加密了给别人不是扯蛋了