我有一个加密的字符串,有300位,如果直接写在程序代码里,则加密和解密正常,如果通过读取ini文件则加密后的内容与写死加密串产生的加密内容不相同,同时解密失败!!!原因可能在于冲ini去的字符串格式为string,而我需要的是ansistring,请问如何转,才能保证跟写死加密串同样的效果呢?

解决方案 »

  1.   

    我以前遇到过这样的情况,一般是中文出错
    如果楼主方便,可以贴出加密算法
    http://topic.csdn.net/u/20101008/15/b6d338a4-9df1-42f0-a443-54f7146ed03a.html
    这是我以前的帖子,可能对你有帮助
      

  2.   

    我没加密的算法,是另外一个工程师写好的dll文件
      

  3.   

    在d7下使用string,在d9下,就必须使用ansistring了
      

  4.   

    你看看我的帖子
    原来的D7
    var
      len,k:word;
      b:Byte;Result := Result + CHR(b);换成D2010后需要修改成
    var
      len,k:word;
      b:word;Result := Result + AnsiChar(b);
    楼主可以先测试按自己的方法不使用加密解密算法存储或读取Ini里面数据,确定数据是否会出错如果没出错,你让写加密算法工程师修改下就行了