Ejemplo n.º 1
0
  /**
   * 对密文进行base64解码后再进行3DES解码
   *
   * @author chenjinjie
   * @created Mar 28, 2011
   * @version v1.0
   * @param msg
   * @return
   */
  public static String decodeString(String msg) {
    String result = null;
    if (Utils.isEmpty(msg)) {
      return result;
    }
    try {
      DESede deSede = new DESede();
      deSede.setKey("B97FED4E9994E33353F2A65A063DFAA8A31428E11BD7AE59".getBytes("UTF-8"));

      byte[] iv2 = {1, 2, 3, 4, 5, 6, 7, 8};
      // 3DES加解密向量定义为8 字节数组IV =“12345678”
      deSede.setIv(iv2);
      // 对密文进行base64解码后再进行3DES解码
      //          byte[] resultData=deSede.decrypt(BASE64.base64Decode(msg));
      byte[] resultData = deSede.decrypt(Base64Codec.encode(msg).getBytes("UTF-8"));
      result = new String(resultData, "UTF-8");
    } catch (UnsupportedEncodingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return result;
  }