最好使用RAS加密算法,呵呵,算法不难其实密码不一定要还原,采用单向散列算法很好,
如MD5等

解决方案 »

  1.   

    你就可以不用考虑还原问题的。
    设加密函数为 ToPassWord(AStr:String);
    则保存时可用 ToPassWord(APassword)得到密文并保存
    判断用户输入密码就否正确时,可用
     if ToPassWord(APassword) = GetPassWordFromFile() then.....
    即,可用密文检验,没必要解密。
      

  2.   

    做个最简单的例子给你吧:不过我没测试,你自己测测吧!大概这样子,可能自己设计算法也可使用已有的一些加密算法如RAS,MD5等。
    Function ToPassword(AStr:String):String;
    var 
      Mask:string;
      i:Integer;
    begin
      Result := '';
       Mask := 'GragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragonGragon';  for i:=1 to Length(AStr) do
      begin
        Result := Result + Char(Byte(AStr[i]) xor Byte(Mask[i]))
      end;
    end;
      

  3.   

    看我这个贴子吧:
    http://www.csdn.net/expert/topic/316/316183.shtm
      

  4.   

    感谢weizhi(antking) 虽然这个测试我正在做,但感谢你提供的方法.40分送上.