哪有沒有很好的加密函數,可加密中英方數字等。

解决方案 »

  1.   

    function TMyClass.Crypt(s: string; Key: Word;  const bEncrypt: boolean): string;
    //将字符串加密解密,bEncrypt=True表示加密,False表示解密
    const
      SeedA = 56789; /// 常量,你可以修改
      SeedB = 54329; /// 常量,你可以修改
    var
      i: integer;
      ps, pr : ^byte;
    begin
      if bEncrypt then
        s := s+#0;
      SetLength(Result, Length(s));
      ps := @s[1];
      pr := @Result[1];
      for i := 1 to length(s) do
      begin
        pr^ := ps^ xor (Key shr 8);
        if bEncrypt then
          Key := (pr^ + Key) * SeedA + SeedB
        else
          Key := (ps^ + Key) * SeedA + SeedB;
        pr := pointer(integer(pr) + 1);
        ps := pointer(integer(ps) + 1);
      end;
    end;
      

  2.   

    RSA的加密强度最大,是研究热点,不过不适于大流量并且对速度要求高的领域
    md5在操作系统有应用,我没有记错的话linux中应该就有,不过linux(red hat)的密码是单向的,就是无法解密的那种
    还有DES,非常传统,但是效率高
      

  3.   

    microjuz(天才弟弟)
    是作哪行的?
      

  4.   

    至于你说的强度问题,我觉得不见得,要看可不可逆,如果不可逆,你就挂了!
    现在ZIP、RAR的强度够高了吧!
    如果你用暴破法(如果密码设得多,并且有特殊字符,你可以要等死都破不出来!)
    常用算法:MD5、DES、AES相当于三层DES的强度、BlowFish等很多了 你还可以在同一个软件中应用多中加密算法,在软件的中还可以加花指令、ANTI技术、虚拟机保护机制等等,很多了!
    可以给我交流:[email protected]
                  [email protected]
      

  5.   

    你在程序完了以后还可以加壳来进行保护,VB程序你可以改改PE等等,很多了!
    壳:UPX、ASPack、PECompact、FSG等等,对了忘记了说还有国产的铁甲“幻影”。好了,多的不说了,如果你要源代码我可以给你!
    但壳有些是要注册的!
    不过不怕在网上可以找的!
    现在没有时间破啊!
      

  6.   

    我喜欢用三重DES加密大块数据,用LOKI91加密短字符串,可是我只有C++的原代码
      

  7.   

    如果你的要求不是很高的话,可以用最简单的方法实现例如
    procedure 加解密(var str:string; code: integer)
    var i:integer;
        tmp: string;
    begin
       for i:=1 to length(str) do
           tmp:= tmp + chr(ord(str[i]) xor code);
    end;调用1次加密,两次解密   :)很使用吧