解码无误后再香奖吻一个-_-!
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCllv
dSdyZSBhbG1vc3QgZG9uZS4KClRvIGNvbXBsZXRlIGVCYXkgcmVnaXN0cmF0aW9uLCBqdXN0IGNs
aWNrIHRoZSBsaW5rIGJlbG93OgoKCmh0dHBzOi8vd3d3LmViYXkuY29tLnNnL3JlZ0VtYWlsQ29u
ZmlybT9Db2RlPTYxMDE4JlVzZXJJRD13Z2xlbndhdHNvbmEmRW1haWw9d2dsZW53YXRzb25hJTQw
MTYzLmNvbQoKVGhpcyB3aWxsIGNvbmZpcm0gdGhhdCB5b3VyIGVtYWlsIGlzIHdvcmtpbmcuCgpJ
ZiBjbGlja2luZyB0aGUgbGluayBhYm92ZSBkb2VzIG5vdCB3b3JrLCB0eXBlIGluIG9yIGNvcHkg
YW5kIHBhc3RlIGl0IGludG8geW91ciBXZWIgYnJvd3Nlci4KCk1ha2Ugc3VyZSB5b3UgY29weSB0
aGlzIGxpbmsgZXhhY3RseSBhbmQgZG8gbm90IGFkZCBleHRyYSBzcGFjZXMuCgpZb3VyIGNvbmZp
cm1hdGlvbiBjb2RlIGlzOiAKCjYxMDE4CgpJZiB5b3UgbmVlZCBhZGRpdGlvbmFsIGhlbHAsIGNv
bnRhY3QgZUJheSdzIEN1c3RvbWVyIFN1cHBvcnQgYXQgdGhlIGZvbGxvd2luZyBhZGRyZXNzOgoK
aHR0cDovL3d3dy5lYmF5LmNvbS5zZy9oZWxwP3BhZ2U9aGVscFBvbGljaWVzCgoKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKQ29weXJpZ2h0IDIw
MDYgZUJheSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIERlc2lnbmF0ZWQgdHJhZGVtYXJrcyBh
bmQgYnJhbmRzIGFyZSB0aGUgcHJvcGVydHkgb2YgdGhlaXIgcmVzcGVjdGl2ZSBvd25lcnMuCgpl
QmF5IGFuZCB0aGUgZUJheSBsb2dvIGFyZSB0cmFkZW1hcmtzIG9mIGVCYXkgSW5jLgo=
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCllv
dSdyZSBhbG1vc3QgZG9uZS4KClRvIGNvbXBsZXRlIGVCYXkgcmVnaXN0cmF0aW9uLCBqdXN0IGNs
aWNrIHRoZSBsaW5rIGJlbG93OgoKCmh0dHBzOi8vd3d3LmViYXkuY29tLnNnL3JlZ0VtYWlsQ29u
ZmlybT9Db2RlPTYxMDE4JlVzZXJJRD13Z2xlbndhdHNvbmEmRW1haWw9d2dsZW53YXRzb25hJTQw
MTYzLmNvbQoKVGhpcyB3aWxsIGNvbmZpcm0gdGhhdCB5b3VyIGVtYWlsIGlzIHdvcmtpbmcuCgpJ
ZiBjbGlja2luZyB0aGUgbGluayBhYm92ZSBkb2VzIG5vdCB3b3JrLCB0eXBlIGluIG9yIGNvcHkg
YW5kIHBhc3RlIGl0IGludG8geW91ciBXZWIgYnJvd3Nlci4KCk1ha2Ugc3VyZSB5b3UgY29weSB0
aGlzIGxpbmsgZXhhY3RseSBhbmQgZG8gbm90IGFkZCBleHRyYSBzcGFjZXMuCgpZb3VyIGNvbmZp
cm1hdGlvbiBjb2RlIGlzOiAKCjYxMDE4CgpJZiB5b3UgbmVlZCBhZGRpdGlvbmFsIGhlbHAsIGNv
bnRhY3QgZUJheSdzIEN1c3RvbWVyIFN1cHBvcnQgYXQgdGhlIGZvbGxvd2luZyBhZGRyZXNzOgoK
aHR0cDovL3d3dy5lYmF5LmNvbS5zZy9oZWxwP3BhZ2U9aGVscFBvbGljaWVzCgoKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKQ29weXJpZ2h0IDIw
MDYgZUJheSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIERlc2lnbmF0ZWQgdHJhZGVtYXJrcyBh
bmQgYnJhbmRzIGFyZSB0aGUgcHJvcGVydHkgb2YgdGhlaXIgcmVzcGVjdGl2ZSBvd25lcnMuCgpl
QmF5IGFuZCB0aGUgZUJheSBsb2dvIGFyZSB0cmFkZW1hcmtzIG9mIGVCYXkgSW5jLgo=
====================================================
You're almost done.
To complete eBay registration, just click the link below:https://www.ebay.com.sg/regEmailConfirm?Code=61018&UserID=wglenwatsona&Email=wglenwatsona%40163.com
This will confirm that your email is working.
If clicking the link above does not work, type in or copy and paste it into your Web browser.
Make sure you copy this link exactly and do not add extra spaces.
Your confirmation code is:
61018
If you need additional help, contact eBay's Customer Support at the following address:
http://www.ebay.com.sg/help?page=helpPolicies====================================================
Copyright 2006 eBay Inc. All Rights Reserved. Designated trades and brands are the property of their respective owners.
eBay and the eBay logo are trades of eBay Inc.
Codes64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function Encode64(S: string): string;
var
i: Integer;
a: Integer;
x: Integer;
b: Integer;
begin
Result := '';
a := 0;
b := 0;
for i := 1 to Length(s) do
begin
x := Ord(s[i]);
b := b * 256 + x;
a := a + 8;
while a >= 6 do
begin
a := a - 6;
x := b div (1 shl a);
b := b mod (1 shl a);
Result := Result + Codes64[x + 1];
end;
end;
if a > 0 then
begin
x := b shl (6 - a);
Result := Result + Codes64[x + 1];
end;
end;function Decode64(S: string): string;
var
i: Integer;
a: Integer;
x: Integer;
b: Integer;
begin
Result := '';
a := 0;
b := 0;
for i := 1 to Length(s) do
begin
x := Pos(s[i], codes64) - 1;
if x >= 0 then
begin
b := b * 64 + x;
a := a + 6;
if a >= 8 then
begin
a := a - 8;
x := b shr a;
b := b mod (1 shl a);
x := x mod 256;
Result := Result + chr(x);
end;
end
else
Exit;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IdBase64Decoder1.CodeString(
'Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCllv'+
'dSdyZSBhbG1vc3QgZG9uZS4KClRvIGNvbXBsZXRlIGVCYXkgcmVnaXN0cmF0aW9uLCBqdXN0IGNs'+
'aWNrIHRoZSBsaW5rIGJlbG93OgoKCmh0dHBzOi8vd3d3LmViYXkuY29tLnNnL3JlZ0VtYWlsQ29u'+
'ZmlybT9Db2RlPTYxMDE4JlVzZXJJRD13Z2xlbndhdHNvbmEmRW1haWw9d2dsZW53YXRzb25hJTQw'+
'MTYzLmNvbQoKVGhpcyB3aWxsIGNvbmZpcm0gdGhhdCB5b3VyIGVtYWlsIGlzIHdvcmtpbmcuCgpJ'+
'ZiBjbGlja2luZyB0aGUgbGluayBhYm92ZSBkb2VzIG5vdCB3b3JrLCB0eXBlIGluIG9yIGNvcHkg'+
'YW5kIHBhc3RlIGl0IGludG8geW91ciBXZWIgYnJvd3Nlci4KCk1ha2Ugc3VyZSB5b3UgY29weSB0'+
'aGlzIGxpbmsgZXhhY3RseSBhbmQgZG8gbm90IGFkZCBleHRyYSBzcGFjZXMuCgpZb3VyIGNvbmZp'+
'cm1hdGlvbiBjb2RlIGlzOiAKCjYxMDE4CgpJZiB5b3UgbmVlZCBhZGRpdGlvbmFsIGhlbHAsIGNv'+
'bnRhY3QgZUJheSdzIEN1c3RvbWVyIFN1cHBvcnQgYXQgdGhlIGZvbGxvd2luZyBhZGRyZXNzOgoK'+
'aHR0cDovL3d3dy5lYmF5LmNvbS5zZy9oZWxwP3BhZ2U9aGVscFBvbGljaWVzCgoKPT09PT09PT09'+
'PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKQ29weXJpZ2h0IDIw'+
'MDYgZUJheSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIERlc2lnbmF0ZWQgdHJhZGVtYXJrcyBh'+
'bmQgYnJhbmRzIGFyZSB0aGUgcHJvcGVydHkgb2YgdGhlaXIgcmVzcGVjdGl2ZSBvd25lcnMuCgpl'+
'QmF5IGFuZCB0aGUgZUJheSBsb2dvIGFyZSB0cmFkZW1hcmtzIG9mIGVCYXkgSW5jLgo='
); memo1.Lines.Add(IdBase64Decoder1.CompletedInput);
end;====================================================You're almost done.To complete eBay registration, just click the link below:
https://www.ebay.com.sg/regEmailConfirm?Code=61018&UserID=wglenwatsona&Email=wglenwatsona%40163.comThis will confirm that your email is working.If clicking the link above does not work, type in or copy and paste it into your Web browser.Make sure you copy this link exactly and do not add extra spaces.Your confirmation code is: 61018If you need additional help, contact eBay's Customer Support at the following address:http://www.ebay.com.sg/help?page=helpPolicies
====================================================Copyright 2006 eBay Inc. All Rights Reserved. Designated trades and brands are the property of their respective owners.eBay and the eBay logo are trades of eBay Inc.
我这里解出来只有一行(使用的D7)。
to keiy:
D7下没有IdBase64Decoder,正在下载D6试验。to xiaoerliao:
这么好的代码千万保管好了,不要泄漏了!!
{******************************************************************************}
{** A Base64 encoding unit ****************************************************}
{******************************************************************************}
{** Written by David Barton ([email protected]) **************************}
{** http://www.scramdisk.clara.net/ *******************************************}
{******************************************************************************}
unit Base64;interface
uses
Sysutils;{ Base64 encode and decode a string }
function B64Encode(const S: string): string;
function B64Decode(const S: string): string;{******************************************************************************}
{******************************************************************************}
implementationconst
B64Table= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function B64Encode;
var
i: integer;
InBuf: array[0..2] of byte;
OutBuf: array[0..3] of char;
begin
SetLength(Result,((Length(S)+2) div 3)*4);
for i:= 1 to ((Length(S)+2) div 3) do
begin
if Length(S)< (i*3) then
Move(S[(i-1)*3+1],InBuf,Length(S)-(i-1)*3)
else
Move(S[(i-1)*3+1],InBuf,3);
OutBuf[0]:= B64Table[((InBuf[0] and $FC) shr 2) + 1];
OutBuf[1]:= B64Table[(((InBuf[0] and $03) shl 4) or ((InBuf[1] and $F0) shr 4)) + 1];
OutBuf[2]:= B64Table[(((InBuf[1] and $0F) shl 2) or ((InBuf[2] and $C0) shr 6)) + 1];
OutBuf[3]:= B64Table[(InBuf[2] and $3F) + 1];
Move(OutBuf,Result[(i-1)*4+1],4);
end;
if (Length(S) mod 3)= 1 then
begin
Result[Length(Result)-1]:= '=';
Result[Length(Result)]:= '=';
end
else if (Length(S) mod 3)= 2 then
Result[Length(Result)]:= '=';
end;function B64Decode;
var
i: integer;
InBuf: array[0..3] of byte;
OutBuf: array[0..2] of byte;
begin
if (Length(S) mod 4)<> 0 then
raise Exception.Create('Base64: Incorrect string format');
SetLength(Result,((Length(S) div 4)-1)*3);
for i:= 1 to ((Length(S) div 4)-1) do
begin
Move(S[(i-1)*4+1],InBuf,4);
if (InBuf[0]> 64) and (InBuf[0]< 91) then
Dec(InBuf[0],65)
else if (InBuf[0]> 96) and (InBuf[0]< 123) then
Dec(InBuf[0],71)
else if (InBuf[0]> 47) and (InBuf[0]< 58) then
Inc(InBuf[0],4)
else if InBuf[0]= 43 then
InBuf[0]:= 62
else
InBuf[0]:= 63;
if (InBuf[1]> 64) and (InBuf[1]< 91) then
Dec(InBuf[1],65)
else if (InBuf[1]> 96) and (InBuf[1]< 123) then
Dec(InBuf[1],71)
else if (InBuf[1]> 47) and (InBuf[1]< 58) then
Inc(InBuf[1],4)
else if InBuf[1]= 43 then
InBuf[1]:= 62
else
InBuf[1]:= 63;
if (InBuf[2]> 64) and (InBuf[2]< 91) then
Dec(InBuf[2],65)
else if (InBuf[2]> 96) and (InBuf[2]< 123) then
Dec(InBuf[2],71)
else if (InBuf[2]> 47) and (InBuf[2]< 58) then
Inc(InBuf[2],4)
else if InBuf[2]= 43 then
InBuf[2]:= 62
else
InBuf[2]:= 63;
if (InBuf[3]> 64) and (InBuf[3]< 91) then
Dec(InBuf[3],65)
else if (InBuf[3]> 96) and (InBuf[3]< 123) then
Dec(InBuf[3],71)
else if (InBuf[3]> 47) and (InBuf[3]< 58) then
Inc(InBuf[3],4)
else if InBuf[3]= 43 then
InBuf[3]:= 62
else
InBuf[3]:= 63;
OutBuf[0]:= (InBuf[0] shl 2) or ((InBuf[1] shr 4) and $03);
OutBuf[1]:= (InBuf[1] shl 4) or ((InBuf[2] shr 2) and $0F);
OutBuf[2]:= (InBuf[2] shl 6) or (InBuf[3] and $3F);
Move(OutBuf,Result[(i-1)*3+1],3);
end;
if Length(S)<> 0 then
begin
Move(S[Length(S)-3],InBuf,4);
if InBuf[2]= 61 then
begin
if (InBuf[0]> 64) and (InBuf[0]< 91) then
Dec(InBuf[0],65)
else if (InBuf[0]> 96) and (InBuf[0]< 123) then
Dec(InBuf[0],71)
else if (InBuf[0]> 47) and (InBuf[0]< 58) then
Inc(InBuf[0],4)
else if InBuf[0]= 43 then
InBuf[0]:= 62
else
InBuf[0]:= 63;
if (InBuf[1]> 64) and (InBuf[1]< 91) then
Dec(InBuf[1],65)
else if (InBuf[1]> 96) and (InBuf[1]< 123) then
Dec(InBuf[1],71)
else if (InBuf[1]> 47) and (InBuf[1]< 58) then
Inc(InBuf[1],4)
else if InBuf[1]= 43 then
InBuf[1]:= 62
else
InBuf[1]:= 63;
OutBuf[0]:= (InBuf[0] shl 2) or ((InBuf[1] shr 4) and $03);
Result:= Result + char(OutBuf[0]);
end
else if InBuf[3]= 61 then
begin
if (InBuf[0]> 64) and (InBuf[0]< 91) then
Dec(InBuf[0],65)
else if (InBuf[0]> 96) and (InBuf[0]< 123) then
Dec(InBuf[0],71)
else if (InBuf[0]> 47) and (InBuf[0]< 58) then
Inc(InBuf[0],4)
else if InBuf[0]= 43 then
InBuf[0]:= 62
else
InBuf[0]:= 63;
if (InBuf[1]> 64) and (InBuf[1]< 91) then
Dec(InBuf[1],65)
else if (InBuf[1]> 96) and (InBuf[1]< 123) then
Dec(InBuf[1],71)
else if (InBuf[1]> 47) and (InBuf[1]< 58) then
Inc(InBuf[1],4)
else if InBuf[1]= 43 then
InBuf[1]:= 62
else
InBuf[1]:= 63;
if (InBuf[2]> 64) and (InBuf[2]< 91) then
Dec(InBuf[2],65)
else if (InBuf[2]> 96) and (InBuf[2]< 123) then
Dec(InBuf[2],71)
else if (InBuf[2]> 47) and (InBuf[2]< 58) then
Inc(InBuf[2],4)
else if InBuf[2]= 43 then
InBuf[2]:= 62
else
InBuf[2]:= 63;
OutBuf[0]:= (InBuf[0] shl 2) or ((InBuf[1] shr 4) and $03);
OutBuf[1]:= (InBuf[1] shl 4) or ((InBuf[2] shr 2) and $0F);
Result:= Result + char(OutBuf[0]) + char(OutBuf[1]);
end
else
begin
if (InBuf[0]> 64) and (InBuf[0]< 91) then
Dec(InBuf[0],65)
else if (InBuf[0]> 96) and (InBuf[0]< 123) then
Dec(InBuf[0],71)
else if (InBuf[0]> 47) and (InBuf[0]< 58) then
Inc(InBuf[0],4)
else if InBuf[0]= 43 then
InBuf[0]:= 62
else
InBuf[0]:= 63;
if (InBuf[1]> 64) and (InBuf[1]< 91) then
Dec(InBuf[1],65)
else if (InBuf[1]> 96) and (InBuf[1]< 123) then
Dec(InBuf[1],71)
else if (InBuf[1]> 47) and (InBuf[1]< 58) then
Inc(InBuf[1],4)
else if InBuf[1]= 43 then
InBuf[1]:= 62
else
InBuf[1]:= 63;
if (InBuf[2]> 64) and (InBuf[2]< 91) then
Dec(InBuf[2],65)
else if (InBuf[2]> 96) and (InBuf[2]< 123) then
Dec(InBuf[2],71)
else if (InBuf[2]> 47) and (InBuf[2]< 58) then
Inc(InBuf[2],4)
else if InBuf[2]= 43 then
InBuf[2]:= 62
else
InBuf[2]:= 63;
if (InBuf[3]> 64) and (InBuf[3]< 91) then
Dec(InBuf[3],65)
else if (InBuf[3]> 96) and (InBuf[3]< 123) then
Dec(InBuf[3],71)
else if (InBuf[3]> 47) and (InBuf[3]< 58) then
Inc(InBuf[3],4)
else if InBuf[3]= 43 then
InBuf[3]:= 62
else
InBuf[3]:= 63;
OutBuf[0]:= (InBuf[0] shl 2) or ((InBuf[1] shr 4) and $03);
OutBuf[1]:= (InBuf[1] shl 4) or ((InBuf[2] shr 2) and $0F);
OutBuf[2]:= (InBuf[2] shl 6) or (InBuf[3] and $3F);
Result:= Result + Char(OutBuf[0]) + Char(OutBuf[1]) + Char(OutBuf[2]);
end;
end;
end;end.
uses EncdDecd;procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Text := DecodeString(cText);
end;
我怎么从没找到过DecodeString这个函数,测试了一下,成功