字符“字串A”用des 加密,再作相应解密处理时,得到“字串A---”,debug时,在degug窗口显示为:'字串A'#4#4#4 ,请教如何去掉后面的#4#4#4?
原字串后有时也会是#5#5#5或#6#6#6类似这种情况。问题解决,后面分数一定奉上。请各路达人指点,多谢!

解决方案 »

  1.   

    如果当作字符串处理,直接删掉倒数6个字符就行了
    delete(s,length(s)-5,6);
      

  2.   

    有一点需要注意,DES要求被加密的数据块必须是以64Bits(也就是8个字节)为单位的,
    因此,对于不能被8整除的数据,应该在尾部加上填充信息(最好将数据的原始长度保存起
    来)。
      

  3.   

    多谢回复各位,这个问题终于解决了。
    我还是说一下来拢去脉吧,我的字串是用java的des算法加密的,现在用delphi来解密。补位的方式不太一样,所以有这个问题。
    我是这么解决的,
     for I := 1 to length(StrResult) do
          begin
            if  ord(StrResult[i])< 9 then
              begin
               strEndPos:=i;
                break;
              end;      end;  Result := copy(StrResult,1,strEndPos-1);       {去除后面的补位}注:StrResult是解密后的字串。这样处理后,返回的是正确的字串。每人分点分吧,别嫌少啊,笑纳~