现有一String 经过DES加密后变成了 byte[],此byte[]长度为8的整数倍,要对byte[]经过如下处理:过程1:byte[]标记记为a(0001)过程2:byte[] 分成四位四位依次异或,得到0000、0101之类的东西记为b过程3:byte[]的长度记为c
过程4:把a、b、c加到byte[]前 变成新的byte[]2  其中过程2和4咋搞?
有哪位师傅知道吗?能给个程序看看么

解决方案 »

  1.   

    byte [] bytes=your byte[]
    String md5Str = new String();
    for (int i = 0; i < bytes.length; i++) {
          tb = bytes[i];      tmpChar = (char) ( (tb >>> 4) & 0x000f);      if (tmpChar >= 10) {
            high = (char) ( ('a' + tmpChar) - 10);
          }
          else {
            high = (char) ('0' + tmpChar);
          }      md5Str += high;
          tmpChar = (char) (tb & 0x000f);      if (tmpChar >= 10) {
            low = (char) ( ('a' + tmpChar) - 10);
          }
          else {
            low = (char) ('0' + tmpChar);
          }      md5Str += low;
        }    return md5Str;
      

  2.   

    不对吧
    怎么返回的是 0bafc4dd75c3b72d