比较像是DES加密的,DES加密需要密钥。
你如果需要加密成一模一样的,就需要知道这个密钥。

解决方案 »

  1.   

    现在是这样的,我开始看的时候以为是十六进制的,结果发现并不是,就是看不出是什么的,而且修改了一下字母,地址就变了,问题是不能一个一个字母的尝试修改啊C57ECC7BE306777F9C6AD438 对应地址 www点pk38点comDA7DCF25A9426B30C57E956CA10C3D69D166D6 www点92ay点com大神看下能否知道加密方式呢?
      

  2.   

    例如我测试的代码是C57ECC7BE306777F9C6AD438 这一条前面C57ECC7B可以想做为是www.但是后面如果想添加点的话7B就不可以了,而且在后面测试代码的时候,输入例如C1 D1 等等 直接出现了汉字 廕 弞这类!
      

  3.   

    额,知道了,是自己实现的简单算法只是简单点xor了一下而已。
      

  4.   

    XE测试通过
    function Encrypt(Url: string): string;
    const
      Map: array[0..7] of Byte = ($B2, $09, $BB, $55, $93, $6D, $44, $47);
    var
      I, Len, MapIndex: Integer;
      Value: Byte;
    begin
      Result := '';
      MapIndex := 0;
      Len := Length(Url);
      for I := 1 to Len do
      begin
        Value := Ord(Url[I]) xor Map[MapIndex];
        Result := Result + IntToHex(Value, 2);
        Inc(MapIndex);
        if MapIndex >= Length(Map) then
          MapIndex := 0;
      end;
    end;
      

  5.   

    调用
    begin
      ShowMessage(Encrypt('www.csdn.net'));  // C57ECC7BF01E20299C67DE21
    end;
      

  6.   

    大神,精简版可以用吗?我打开后点F9 Result := Result + IntToHex(Value, 2); 提示这一行
      

  7.   


    大神是这样的,我是偷别人的一个小型浏览器,他浏览器调用ini文件,ini文件内的域名位置调用代码!
      

  8.   

    不熟悉D7,可能是没有提供IntToHex这个函数,我用的XE测试通过。
      

  9.   


    delphi xe5?是吗?你引用SysUtils了吗?
      

  10.   


    delphi xe5?是吗?你引用SysUtils了吗?
    大神别骂我哈,我对delphi 不是很懂!
      

  11.   

    D7有IntToHex这个函数可能是我比较白痴,不太懂,所以没弄好吧,到现在没研究明白呢!
      

  12.   

    D7有IntToHex这个函数可能是我比较白痴,不太懂,所以没弄好吧,到现在没研究明白呢!
    报什么错误呢?
      

  13.   

    D7有IntToHex这个函数可能是我比较白痴,不太懂,所以没弄好吧,到现在没研究明白呢!
    报什么错误呢?大神,我现在能说,我连引用 uses SysUtils 还没搞定么
      

  14.   

    D7有IntToHex这个函数可能是我比较白痴,不太懂,所以没弄好吧,到现在没研究明白呢!
    报什么错误呢?大神,我现在能说,我连引用 uses SysUtils 还没搞定么大神您能不能好人做到底,教一下如何引用?
      

  15.   

    文件顶部不是有uses吗,那里应该有SysUtils;  没有就加上就行了啊,唉。
      

  16.   

    uses
      SysUtils;
    function Encrypt(Url: string): string;
    const
      Map: array[0..7] of Byte = ($B2, $09, $BB, $55, $93, $6D, $44, $47);
    var
      I, Len, MapIndex: Integer;
      Value: Byte;
    begin
      Result := '';
      MapIndex := 0;
      Len := Length(Url);
      for I := 1 to Len do
      begin
        Value := Ord(Url[I]) xor Map[MapIndex];
        Result := Result + IntToHex(Value, 2);
        Inc(MapIndex);
        if MapIndex >= Length(Map) then
          MapIndex := 0;
      end;
    end;这样么? 现在运行显示这个Declaration expected but end of file found
      

  17.   

    http://zhidao.baidu.com/link?url=c7kUhs1zSfAvHLHHY3MghU8gr1CNMFOPg-2N1iArmptEqW7G-qkCvpRbB6j8asDD7mN0Q9uQKlFRenvW4Q3uia
      

  18.   


    uses
      SysUtils;
    function Encrypt(Url: string): string;
    const
      Map: array[0..7] of Byte = ($B2, $09, $BB, $55, $93, $6D, $44, $47);
    var
      I, Len, MapIndex: Integer;
      Value: Byte;
    begin
      Result := '';
      MapIndex := 0;
      Len := Length(Url);
      for I := 1 to Len do
      begin
        Value := Ord(Url[I]) xor Map[MapIndex];
        Result := Result + IntToHex(Value, 2);
        Inc(MapIndex);
        if MapIndex >= Length(Map) then
          MapIndex := 0;
      end;
    end.我目前是这样写的,运行还是有问题,郁闷了!!!
      

  19.   

    现在显示这个expected but end of file found 大神,您看这是什么问题啊,我也不想麻烦您了太郁闷了!
      

  20.   

    创建新工程,窗口上放一个按钮。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}function Encrypt(Url: string): string;
    const
      Map: array[0..7] of Byte = ($B2, $09, $BB, $55, $93, $6D, $44, $47);
    var
      I, Len, MapIndex: Integer;
      Value: Byte;
    begin
      Result := '';
      MapIndex := 0;
      Len := Length(Url);
      for I := 1 to Len do
      begin
        Value := Ord(Url[I]) xor Map[MapIndex];
        Result := Result + IntToHex(Value, 2);
        Inc(MapIndex);
        if MapIndex >= Length(Map) then
          MapIndex := 0;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(Encrypt('www.csdn.net'));  // C57ECC7BF01E20299C67DE21
    end;end.
      

  21.   


    大神 万谢了,可以运行了,能不能问最后一个问题?如何让ShowMessage(Encrypt('www.csdn.net'));  // C57ECC7BF01E20299C67DE21 密文 变成我所需要的域名密文?
      

  22.   


    大神 万谢了,可以运行了,能不能问最后一个问题?如何让ShowMessage(Encrypt('www.csdn.net'));  // C57ECC7BF01E20299C67DE21 密文 变成我所需要的域名密文?
    大神,我想应该是在Byte = ($B2, $09, $BB, $55, $93, $6D, $44, $47);这个位置,但是这个位置是16进制代码转换byte的吗?还是其他的,能否告知一下?
      

  23.   

    function Decrypt(Ciphertext: string): string;
    const
      Map: array[0..7] of Byte = ($B2, $09, $BB, $55, $93, $6D, $44, $47);
    var
      I, Len, MapIndex: Integer;
      Value: Byte;
    begin
      Result := '';
      MapIndex := 0;
      I := 1;
      Len := Length(Ciphertext);
      while I < Len do
      begin
        Value := StrToInt('$' + Ciphertext[I] + Ciphertext[I + 1]) xor Map[MapIndex];
        Result := Result + Chr(Value);
        Inc(I, 2);
        Inc(MapIndex);
        if MapIndex >= Length(Map) then
          MapIndex := 0;
      end;
    end;
      

  24.   


    实在是不了解,没学习过软件,真的不好意思啊,刚刚以为那个位置是16进制进行转换的,但是转换出来的还是无法访问,随后就看了看代码上所写的,string Byte 这两个,应该是 string为密匙或者依照他的算法进行转换byte,现在我不是很明白string的算法是怎么进行的!