dl0246 2017-09-13 14:36 采纳率: 0%
浏览 893

考考你的Coding思维,如下编码(加密)代码的解码(解密)代码是?

考考你的Coding思维,如下编码(加密)代码的解码(解密)代码是?

      /**
       * 简单的字符串编码
       **/
      public static String encode(String ss,String enc)
      {
        StringBuffer sb=new StringBuffer("");
        int x=0;
        for (int i=0;i<ss.length();i++)
        {
          int z=ss.charAt(i)^enc.charAt(x);
          x++;
          if (x>=enc.length()) x=0;
          if (i>0) sb.append('|');
          sb.append(Long.toHexString(z));
        }
        return sb.toString();
      }

  • 写回答

1条回答

  • 弗里德姆 2017-09-14 03:29
    关注
        public static String decode(String ss, String enc) {
            if (ss == null) return null;
            StringBuilder sb = new StringBuilder();
            int x = 0;
            try {
                String[] split = ss.split("\\|");
                for (int j = 0; j < split.length; j++) {
                    String s = split[j];
                    if (s.length() == 0) break;
                    int z = Long.decode("#" + s).intValue() ^ enc.charAt(x);
                    x++;
                    if (x >= enc.length()) x = 0;
                    sb.append((char) z);
                }
            } catch (Exception e) {
                System.err.print("Exception!");
            }
            return sb.toString();
        }
    

    How many points to give?LOL -_-

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料