数据:810100008BFBFFDA
密钥:1131323334353607802009178BFBFFDA结果:3180C35454A2BF31
找了一些,不是标准的算法,数据出来的不正确,没招了,求助

解决方案 »

  1.   

    夜星,你现在手头折腾了快两个月的函数是没有问题的....
    -----------------------------------------------------------var
      bin_src1, bin_src2: string;
      hex_src1, hex_src2, hex_src3: string; //HEX
      key: string;  //bin
      hex_key: string;
      bin_src: string;
    begin
    //
      hex_key :='1131323334353607802009178BFBFFDA';//KEY IS bin格式  setlength(key, 16);
      HexToBin(pchar(hex_key), pchar(key), 16);
      hex_src1 := '810100008BFBFFDA';//如果输入的串是HEX格式..转成BIN.
      setlength(bin_src1, 8);
      HexToBin(pchar(hex_src1), pchar(bin_src1), 8);//  DisplayMsg('hex_src1 = ' + hex_src1);
    //  DisplayMsg('bin_src1 = '+ bin_src1);  hex_src2 := EncryStr_3DES(bin_src1, key);
      ShowMessage('hex_src2='+ hex_src2);
      bin_src2 := DecryStr_3DES(hex_src2, key);  if (bin_src1 = bin_src2) then
        ShowMessage('ok 没有问题,夜腥是RPWT...');  setlength(hex_src3, 16);
      BinToHex(pchar(bin_src2), pchar(hex_src3), 8);  ShowMessage('解出的SRC (BIN):'+ bin_src2);
      ShowMessage('解出的SRC (HEX):'+ hex_src3);
    end;
      

  2.   

    看来真是RPWT,改地方改错了....接受批评