| 订阅 | 在线投稿
分享
 
 
 

自己独立设计的字符串加密算法

来源:互联网网民  宽屏版  评论
2007-09-15 05:03:09

自己独立设计的字符串加密算法

作者:成晓旭

这是本人自行设计的第一个数据加密算法,当初是想设计成分组的对称加密算法,但后来工作一忙,就没有实现,就草草完成便开始应用起来了。但是目前的混淆度已经能够满足绝大多数的简单加密应用。

1、 简介:

设计一个算法,对字符串进行加密和解决,要求有一定的混淆度,并且,无须复杂的密钥管理。为简化应用,我将混淆码(类似于密钥)直接混淆存储在加密后密文中。

2、 算法设计:

开始想将此算法设计成分组的对称加密算法,所以在算法的核心处理轮尽可能地选择“对称”的计算方法:比较异或、字节内转换、对称倒。

此算法设计成三大步骤:输入调整,核心加、解密过程,输出调整。

1、 输入调整:就是用混淆码将源串调整成长度为8的整数倍的新串,以作为核心处理过程的输入。

2、 输出调整:就是将通过核心处理过程计算后的结果串,按输出要求进行转换。加密时,就是转换成希望的密文串;解密时,转换成希望的明文串。

3、 核心处理过程:是整个算法的核心过程,主要包括位异或、左右倒置、交换字节、移位等几个子过程。

3.1:位异或:对串的每一个Byte位进行异或运算;

3.2:左右倒置:对串进行镜像对称处理,将串分成前后两部分,完成对换。

3.3:交换字节:对每一个Byte的前、后半字节进行镜像对称倒置。

3.4:移位:对串进行移位处理。

具体的加、解密处理过程如下图所示:

王朝网络

3、 算法点评:

1、 此算法没有实现正在的对称加密算法。只需要对输入、输出调整过程进行优化,并且,重新调整核心处理过程的计算顺序,就可以了。

2、 源码演示的版本有些缺陷:最大处理串长度为255,应该进行优化;并且混淆码过于粗糙,也有待优化;对混淆码的应用不全面,处理之后,混淆码主要集中在密文的部分区段,分布不够均匀,混淆程度也不够充分。

4、 算法源码:

王朝网络
//------------------------------------------------------------------------------
王朝网络
//
王朝网络
// 产品名称:自有版权的字符串加密算法
王朝网络
// 产品简介:将字符串按自行独立设计的加密算法进行加、解密处理
王朝网络
// 产品作者:成晓旭
王朝网络
// E-Main: CXXSoft@sohu.com
王朝网络
// 产品版本:1.0版
王朝网络
// 版权所有:成晓旭
王朝网络
// 备注: 任何人使用此类时,请保留此段自述文件,谢谢!
王朝网络
// 单元文件:unSecurity.pas
王朝网络
// 单元说明:算法类TCXXStrSecurity的定义及实现
王朝网络
// 开发时间:2004-12-25
王朝网络
// 设计本加、解密算法,并用原型程序测试、实现
王朝网络
// 修改时间:2005-01-15
王朝网络
// 增加加、解密返回、输入串码制属性更新功能
王朝网络
//------------------------------------------------------------------------------
王朝网络
unit unSecurity;
王朝网络

王朝网络
interface
王朝网络
uses
王朝网络
SysUtils;
王朝网络
type
王朝网络
TCXXStrSecurity = class
王朝网络
private
王朝网络
//本算法的加密最终结果标志(true:字节码串/false:字符串)
王朝网络
isByteResult:boolean;
王朝网络
//本算法的字符串长度位数目(16制式)
王朝网络
lenStrWidth:Byte;
王朝网络
//本算法要求的最小模糊字符串
王朝网络
minTextLen:Word;
王朝网络
//本算法处理的最大串长度
王朝网络
maxStrLen:Word;
王朝网络
//本算法的串移位位数
王朝网络
bitStrMoved:Byte;
王朝网络
//根据本算法的处理规则,以加密前明文进行串调整
王朝网络
function TransFillText(const strText:string):string;
王朝网络
//根据本算法的处理规则,以加密后密文进行串调整
王朝网络
function ReTransFillText(const strText:string; const mvSize: Byte):string;
王朝网络
//将字符串转换成Ascii码串的方法
王朝网络
function TransStringToNumber(const strText:string):string;
王朝网络
//将一个字节的前后两个半字节互换的方法
王朝网络
function ChangeNumber(const byt:Byte):Byte;
王朝网络
//将字符串循环移动的方法(左移/右移)
王朝网络
function MoveTextByCircle(const strText:string;const mvSize:Byte;const isFromHead:boolean):string;
王朝网络
//将字符串内每个字节的前后两个半字节互换的方法
王朝网络
function ExChangeNumber(const strText:string):string;
王朝网络
//将字符串进行前后倒置的方法
王朝网络
function RevertString(const strText:string):string;
王朝网络
//将字符串的相邻两位进行调换的方法
王朝网络
function TransOneByte(const strText:string):string;
王朝网络
//将Ascii码串转换后常规字符串的方法
王朝网络
function TransNumberToString(const strText:string):string;
王朝网络
//将字符串进行位异或处理方法
王朝网络
function XORString(const strText:string):string;
王朝网络
public
王朝网络
//本算法的加、解密处理成功标志(true:成功,否则:失败)
王朝网络
isOK:boolean;
王朝网络
//本算法的处理过程消息
王朝网络
Msg:string;
王朝网络
constructor Create(const isReturnByte:boolean);
王朝网络
//字符串加密方法
王朝网络
function EncodeString(const strText:string):string;overload;
王朝网络
//字符串加密方法
王朝网络
function EncodeString(const strText:string;const isByteStr:boolean):string;overload;
王朝网络
//字符串解密方法
王朝网络
function DecodeString(const strPassword:string):string;overload;
王朝网络
//字符串解密方法
王朝网络
function DecodeString(const strPassword:string;const isByteStr:boolean):string;overload;
王朝网络
end;
王朝网络
implementation
王朝网络

王朝网络
王朝网络
...{ TCXXStrSecurity }
王朝网络

王朝网络
function TCXXStrSecurity.ChangeNumber(const byt: Byte): Byte;
王朝网络
begin
王朝网络
Result := (byt mod 16) * 16 + (byt div 16);
王朝网络
end;
王朝网络

王朝网络
constructor TCXXStrSecurity.Create(const isReturnByte:boolean);
王朝网络
const
王朝网络
default_MoveBit = 5;
王朝网络
begin
王朝网络
minTextLen := 6;
王朝网络
lenStrWidth := 2;
王朝网络
maxStrLen := 255;
王朝网络
bitStrMoved := 5;
王朝网络
isByteResult := isReturnByte;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.EncodeString(const strText: string): string;
王朝网络
var
王朝网络
str:string;
王朝网络
begin
王朝网络
str := '';
王朝网络
str := TransFillText(strText);
王朝网络
str := XORString(str);
王朝网络
str := RevertString(str);
王朝网络
str := TransOneByte(str);
王朝网络
str := TransStringToNumber(str);
王朝网络
str := ExChangeNumber(str);
王朝网络
str := MoveTextByCircle(str,bitStrMoved,true);
王朝网络
if NOT isByteResult then
王朝网络
str := TransNumberToString(str);
王朝网络
Result := str;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.ExChangeNumber(const strText: string): string;
王朝网络
var
王朝网络
len,i:Word;
王朝网络
begin
王朝网络
len := Length(strText);
王朝网络
for i := 0 to len div 2 - 1 do
王朝网络
begin
王朝网络
Result := Result + IntToHex(ChangeNumber(StrToInt('$'+Copy(strText,i*2+1,2))),2);
王朝网络
end;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.MoveTextByCircle(const strText: string;
王朝网络
const mvSize: Byte; const isFromHead: boolean): string;
王朝网络
var
王朝网络
len:Word;
王朝网络
begin
王朝网络
len := Length(strText);
王朝网络
if isFromHead then
王朝网络
Result := Copy(strText,mvSize+1,len-mvSize) + Copy(strText,1,mvSize)
王朝网络
else
王朝网络
Result := Copy(strText,len-mvSize+1,mvSize) + Copy(strText,1,len-mvSize);
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.DecodeString(const strPassword: string): string;
王朝网络
var
王朝网络
str:string;
王朝网络
begin
王朝网络
str := strPassword;
王朝网络
if NOT isByteResult then
王朝网络
str := TransStringToNumber(str);
王朝网络
str := MoveTextByCircle(str,bitStrMoved,false);
王朝网络
str := ExChangeNumber(str);
王朝网络
str := TransNumberToString(str);
王朝网络
str := TransOneByte(str);
王朝网络
str := RevertString(str);
王朝网络
str := XORString(str);
王朝网络
str := ReTransFillText(str,bitStrMoved);
王朝网络
Result := str;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.ReTransFillText(const strText: string; const mvSize: Byte): string;
王朝网络
var
王朝网络
len:Word;
王朝网络
begin
王朝网络
len := StrToInt('$'+Copy(strText,1,lenStrWidth));
王朝网络
Result := Copy(strText,lenStrWidth+1,len);
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.RevertString(const strText: string): string;
王朝网络
var
王朝网络
i,len:word;
王朝网络
t:char;
王朝网络
pch:PChar;
王朝网络
begin
王朝网络
pch := PChar(strText);
王朝网络
len := Length(strText);
王朝网络
for i := 0 to len div 2 -1 do
王朝网络
begin
王朝网络
//ChangeChar(pch[i],pch[len-1-i]);
王朝网络
t := pch[i];
王朝网络
pch[i] := pch[len-1-i];
王朝网络
pch[len-1-i] := t;
王朝网络
end;
王朝网络
Result := String(pch);
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.TransFillText(const strText: string): string;
王朝网络
var
王朝网络
i,oLen:Word;
王朝网络
str,strPower:string;
王朝网络
begin
王朝网络
strPower := FormatDateTime('HHMMSS',Now());
王朝网络
//strPower := RevertString(strPower);
王朝网络
//strPower := TransOneByte(strPower);
王朝网络
str := strText;
王朝网络
oLen := Length(str);
王朝网络
i := 1;
王朝网络
while(Length(str) < minTextLen) do
王朝网络
begin
王朝网络
str := str + strPower[i];
王朝网络
Inc(i);
王朝网络
end;
王朝网络
Result := IntToHex(oLen,lenStrWidth)+str;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.TransNumberToString(const strText: string): string;
王朝网络
var
王朝网络
i:word;
王朝网络
begin
王朝网络
Result := '';
王朝网络
for i := 0 to Length(strText) div 2 - 1 do
王朝网络
begin
王朝网络
Result := Result +CHR(StrToInt('$'+Copy(strText,i*2+1,2)));
王朝网络
end;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.TransOneByte(const strText: string): string;
王朝网络
var
王朝网络
i,len:word;
王朝网络
t:char;
王朝网络
pch:PChar;
王朝网络
begin
王朝网络
pch := PChar(strText);
王朝网络
len := Length(strText);
王朝网络
for i := 0 to len div 2 - 1 do
王朝网络
begin
王朝网络
t := pch[2*i];
王朝网络
pch[2*i] := pch[2*i+1];
王朝网络
pch[2*i+1] := t;
王朝网络
end;
王朝网络
Result := String(pch);
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.TransStringToNumber(const strText: string): string;
王朝网络
var
王朝网络
len,i:Word;
王朝网络
str:string;
王朝网络
begin
王朝网络
len := Length(strText);
王朝网络
str := '';
王朝网络
for i := 1 to len do
王朝网络
begin
王朝网络
str := str + IntToHex(Ord(strText[i]),2);
王朝网络
end;
王朝网络
Result := str;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.XORString(const strText: string): string;
王朝网络
var
王朝网络
len,k:word;
王朝网络
b:Byte;
王朝网络
begin
王朝网络
Result := '';
王朝网络
len := Length(strText);
王朝网络
for k := 1 to len do
王朝网络
begin
王朝网络
b := Ord(strText[k]);
王朝网络
if k mod 2 =0 then
王朝网络
b := b xor k
王朝网络
else
王朝网络
b := b xor (len-k);
王朝网络
Result := Result + CHR(b);
王朝网络
end;
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.DecodeString(const strPassword: string;
王朝网络
const isByteStr: boolean): string;
王朝网络
begin
王朝网络
isByteResult := isByteStr;
王朝网络
Result := DecodeString(strPassword);
王朝网络
end;
王朝网络

王朝网络
function TCXXStrSecurity.EncodeString(const strText: string;
王朝网络
const isByteStr: boolean): string;
王朝网络
begin
王朝网络
isByteResult := isByteStr;
王朝网络
Result := EncodeString(strText);
王朝网络
end;
王朝网络

王朝网络
end.
王朝网络

5、 应用适应器源码:

王朝网络
//------------------------------------------------------------------------------
王朝网络
//
王朝网络
// 产品名称:自有版权的字符串加密算法
王朝网络
// 产品简介:将字符串按自行独立设计的加密算法进行加、解密处理
王朝网络
// 产品作者:成晓旭
王朝网络
// E-Main: CXXSoft@sohu.com
王朝网络
// 产品版本:1.0版
王朝网络
// 版权所有:成晓旭
王朝网络
// 备注: 任何人使用此类时,请保留此段自述文件,谢谢!
王朝网络
// 单元文件:unSecurityAdapter.pas
王朝网络
// 单元说明:算法接口类TCXXStrSecurity的定义及实现
王朝网络
// 开发时间:2006-06-27
王朝网络
// 增加接口类,封闭对算法类的管理细节,以方便客户使用
王朝网络
//------------------------------------------------------------------------------
王朝网络
unit unSecurityAdapter;
王朝网络

王朝网络
interface
王朝网络

王朝网络
uses
王朝网络
unSecurity;
王朝网络

王朝网络
type
王朝网络
TSecurityAdapter = class
王朝网络
private
王朝网络
public
王朝网络
//字符串加密方法
王朝网络
class function EncodeString(const strText:string):string;
王朝网络
//字符串解密方法
王朝网络
class function DecodeString(const strPassword:string):string;
王朝网络
end;
王朝网络

王朝网络
implementation
王朝网络

王朝网络
var
王朝网络
security:TCXXStrSecurity;
王朝网络

王朝网络
王朝网络
...{ TSecurityAdapter }
王朝网络

王朝网络
class function TSecurityAdapter.DecodeString(
王朝网络
const strPassword: string): string;
王朝网络
begin
王朝网络
Result := '';
王朝网络
if Assigned(security) then
王朝网络
Result := security.DecodeString(strPassword,true);
王朝网络
end;
王朝网络

王朝网络
class function TSecurityAdapter.EncodeString(const strText: string): string;
王朝网络
begin
王朝网络
Result := '';
王朝网络
if Assigned(security) then
王朝网络
Result := security.EncodeString(strText,true);
王朝网络
end;
王朝网络

王朝网络
initialization
王朝网络
security := TCXXStrSecurity.Create(false);
王朝网络
finalization
王朝网络
security.Free();
王朝网络
security := nil;
王朝网络
end.
王朝网络

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
自己独立设计的字符串加密算法 作者:成晓旭 这是本人自行设计的第一个数据加密算法,当初是想设计成分组的对称加密算法,但后来工作一忙,就没有实现,就草草完成便开始应用起来了。但是目前的混淆度已经能够满足绝大多数的简单加密应用。 1、 简介: 设计一个算法,对字符串进行加密和解决,要求有一定的混淆度,并且,无须复杂的密钥管理。为简化应用,我将混淆码(类似于密钥)直接混淆存储在加密后密文中。 2、 算法设计: 开始想将此算法设计成分组的对称加密算法,所以在算法的核心处理轮尽可能地选择“对称”的计算方法:比较异或、字节内转换、对称倒。 此算法设计成三大步骤:输入调整,核心加、解密过程,输出调整。 1、 输入调整:就是用混淆码将源串调整成长度为8的整数倍的新串,以作为核心处理过程的输入。 2、 输出调整:就是将通过核心处理过程计算后的结果串,按输出要求进行转换。加密时,就是转换成希望的密文串;解密时,转换成希望的明文串。 3、 核心处理过程:是整个算法的核心过程,主要包括位异或、左右倒置、交换字节、移位等几个子过程。 3.1:位异或:对串的每一个Byte位进行异或运算; 3.2:左右倒置:对串进行镜像对称处理,将串分成前后两部分,完成对换。 3.3:交换字节:对每一个Byte的前、后半字节进行镜像对称倒置。 3.4:移位:对串进行移位处理。 具体的加、解密处理过程如下图所示: [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778677.jpg[/img][/url] 3、 算法点评: 1、 此算法没有实现正在的对称加密算法。只需要对输入、输出调整过程进行优化,并且,重新调整核心处理过程的计算顺序,就可以了。 2、 源码演示的版本有些缺陷:最大处理串长度为255,应该进行优化;并且混淆码过于粗糙,也有待优化;对混淆码的应用不全面,处理之后,混淆码主要集中在密文的部分区段,分布不够均匀,混淆程度也不够充分。 4、 算法源码: [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778724.png[/img][/url]//------------------------------------------------------------------------------ [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778755.png[/img][/url]// [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778786.png[/img][/url]// 产品名称:自有版权的字符串加密算法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778817.png[/img][/url]// 产品简介:将字符串按自行独立设计的加密算法进行加、解密处理 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778833.png[/img][/url]// 产品作者:成晓旭 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778880.png[/img][/url]// E-Main: CXXSoft@sohu.com [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778911.png[/img][/url]// 产品版本:1.0版 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778942.png[/img][/url]// 版权所有:成晓旭 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778974.png[/img][/url]// 备注: 任何人使用此类时,请保留此段自述文件,谢谢! [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803778989.png[/img][/url]// 单元文件:unSecurity.pas [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779021.png[/img][/url]// 单元说明:算法类TCXXStrSecurity的定义及实现 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779052.png[/img][/url]// 开发时间:2004-12-25 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779083.png[/img][/url]// 设计本加、解密算法,并用原型程序测试、实现 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779114.png[/img][/url]// 修改时间:2005-01-15 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779130.png[/img][/url]// 增加加、解密返回、输入串码制属性更新功能 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779161.png[/img][/url]//------------------------------------------------------------------------------ [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779192.png[/img][/url]unit unSecurity; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779224.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779239.png[/img][/url]interface [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779271.png[/img][/url]uses [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779302.png[/img][/url] SysUtils; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779333.png[/img][/url]type [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779349.png[/img][/url] TCXXStrSecurity = class [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779380.png[/img][/url] private [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779411.png[/img][/url] //本算法的加密最终结果标志(true:字节码串/false:字符串) [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779442.png[/img][/url] isByteResult:boolean; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779474.png[/img][/url] //本算法的字符串长度位数目(16制式) [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779505.png[/img][/url] lenStrWidth:Byte; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779521.png[/img][/url] //本算法要求的最小模糊字符串 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779552.png[/img][/url] minTextLen:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779583.png[/img][/url] //本算法处理的最大串长度 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779614.png[/img][/url] maxStrLen:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779646.png[/img][/url] //本算法的串移位位数 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779677.png[/img][/url] bitStrMoved:Byte; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779692.png[/img][/url] //根据本算法的处理规则,以加密前明文进行串调整 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779755.png[/img][/url] function TransFillText(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779771.png[/img][/url] //根据本算法的处理规则,以加密后密文进行串调整 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779802.png[/img][/url] function ReTransFillText(const strText:string; const mvSize: Byte):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779833.png[/img][/url] //将字符串转换成Ascii码串的方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779864.png[/img][/url] function TransStringToNumber(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779896.png[/img][/url] //将一个字节的前后两个半字节互换的方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779911.png[/img][/url] function ChangeNumber(const byt:Byte):Byte; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779942.png[/img][/url] //将字符串循环移动的方法(左移/右移) [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803779974.png[/img][/url] function MoveTextByCircle(const strText:string;const mvSize:Byte;const isFromHead:boolean):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780005.png[/img][/url] //将字符串内每个字节的前后两个半字节互换的方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780021.png[/img][/url] function ExChangeNumber(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780052.png[/img][/url] //将字符串进行前后倒置的方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780083.png[/img][/url] function RevertString(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780114.png[/img][/url] //将字符串的相邻两位进行调换的方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780146.png[/img][/url] function TransOneByte(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780161.png[/img][/url] //将Ascii码串转换后常规字符串的方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780192.png[/img][/url] function TransNumberToString(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780224.png[/img][/url] //将字符串进行位异或处理方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780255.png[/img][/url] function XORString(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780286.png[/img][/url] public [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780302.png[/img][/url] //本算法的加、解密处理成功标志(true:成功,否则:失败) [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780333.png[/img][/url] isOK:boolean; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780364.png[/img][/url] //本算法的处理过程消息 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780396.png[/img][/url] Msg:string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780427.png[/img][/url] constructor Create(const isReturnByte:boolean); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780442.png[/img][/url] //字符串加密方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780474.png[/img][/url] function EncodeString(const strText:string):string;overload; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780505.png[/img][/url] //字符串加密方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780536.png[/img][/url] function EncodeString(const strText:string;const isByteStr:boolean):string;overload; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780552.png[/img][/url] //字符串解密方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780583.png[/img][/url] function DecodeString(const strPassword:string):string;overload; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780614.png[/img][/url] //字符串解密方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780646.png[/img][/url] function DecodeString(const strPassword:string;const isByteStr:boolean):string;overload; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780677.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780692.png[/img][/url]implementation [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780724.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780755.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780786.png[/img][/url]...{ TCXXStrSecurity } [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780802.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780833.png[/img][/url]function TCXXStrSecurity.ChangeNumber(const byt: Byte): Byte; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780864.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780896.png[/img][/url] Result := (byt mod 16) * 16 + (byt div 16); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780927.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780942.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803780974.png[/img][/url]constructor TCXXStrSecurity.Create(const isReturnByte:boolean); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781005.png[/img][/url]const [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781036.png[/img][/url] default_MoveBit = 5; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781067.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781099.png[/img][/url] minTextLen := 6; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781224.png[/img][/url] lenStrWidth := 2; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781255.png[/img][/url] maxStrLen := 255; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781286.png[/img][/url] bitStrMoved := 5; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781317.png[/img][/url] isByteResult := isReturnByte; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781333.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781364.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781396.png[/img][/url]function TCXXStrSecurity.EncodeString(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781427.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781458.png[/img][/url] str:string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781489.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781505.png[/img][/url] str := ''; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781536.png[/img][/url] str := TransFillText(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781567.png[/img][/url] str := XORString(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781599.png[/img][/url] str := RevertString(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781614.png[/img][/url] str := TransOneByte(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781646.png[/img][/url] str := TransStringToNumber(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781677.png[/img][/url] str := ExChangeNumber(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781708.png[/img][/url] str := MoveTextByCircle(str,bitStrMoved,true); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781739.png[/img][/url] if NOT isByteResult then [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781755.png[/img][/url] str := TransNumberToString(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781786.png[/img][/url] Result := str; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781817.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781849.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781880.png[/img][/url]function TCXXStrSecurity.ExChangeNumber(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781911.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781942.png[/img][/url] len,i:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781958.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803781989.png[/img][/url] len := Length(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782021.png[/img][/url] for i := 0 to len div 2 - 1 do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782052.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782067.png[/img][/url] Result := Result + IntToHex(ChangeNumber(StrToInt('$'+Copy(strText,i*2+1,2))),2); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782099.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782130.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782161.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782192.png[/img][/url]function TCXXStrSecurity.MoveTextByCircle(const strText: string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782224.png[/img][/url] const mvSize: Byte; const isFromHead: boolean): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782255.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782286.png[/img][/url] len:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782302.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782333.png[/img][/url] len := Length(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782364.png[/img][/url] if isFromHead then [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782396.png[/img][/url] Result := Copy(strText,mvSize+1,len-mvSize) + Copy(strText,1,mvSize) [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782411.png[/img][/url] else [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782442.png[/img][/url] Result := Copy(strText,len-mvSize+1,mvSize) + Copy(strText,1,len-mvSize); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782474.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782505.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782536.png[/img][/url]function TCXXStrSecurity.DecodeString(const strPassword: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782552.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782583.png[/img][/url] str:string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782614.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782646.png[/img][/url] str := strPassword; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782661.png[/img][/url] if NOT isByteResult then [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782692.png[/img][/url] str := TransStringToNumber(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782724.png[/img][/url] str := MoveTextByCircle(str,bitStrMoved,false); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782755.png[/img][/url] str := ExChangeNumber(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782786.png[/img][/url] str := TransNumberToString(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782802.png[/img][/url] str := TransOneByte(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782833.png[/img][/url] str := RevertString(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782864.png[/img][/url] str := XORString(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782896.png[/img][/url] str := ReTransFillText(str,bitStrMoved); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782911.png[/img][/url] Result := str; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782958.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803782974.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783005.png[/img][/url]function TCXXStrSecurity.ReTransFillText(const strText: string; const mvSize: Byte): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783036.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783067.png[/img][/url] len:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783099.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783114.png[/img][/url] len := StrToInt('$'+Copy(strText,1,lenStrWidth)); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783146.png[/img][/url] Result := Copy(strText,lenStrWidth+1,len); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783177.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783208.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783239.png[/img][/url]function TCXXStrSecurity.RevertString(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783255.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783286.png[/img][/url] i,len:word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783317.png[/img][/url] t:char; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783349.png[/img][/url] pch:PChar; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783364.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783396.png[/img][/url] pch := PChar(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783427.png[/img][/url] len := Length(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783458.png[/img][/url] for i := 0 to len div 2 -1 do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783489.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783505.png[/img][/url] //ChangeChar(pch[i],pch[len-1-i]); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783536.png[/img][/url] t := pch[i]; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783567.png[/img][/url] pch[i] := pch[len-1-i]; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783599.png[/img][/url] pch[len-1-i] := t; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783630.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783646.png[/img][/url] Result := String(pch); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783677.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783708.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783739.png[/img][/url]function TCXXStrSecurity.TransFillText(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783755.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783786.png[/img][/url] i,oLen:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783817.png[/img][/url] str,strPower:string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783849.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783864.png[/img][/url] strPower := FormatDateTime('HHMMSS',Now()); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783896.png[/img][/url] //strPower := RevertString(strPower); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783927.png[/img][/url] //strPower := TransOneByte(strPower); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783958.png[/img][/url] str := strText; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803783989.png[/img][/url] oLen := Length(str); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784021.png[/img][/url] i := 1; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784036.png[/img][/url] while(Length(str) < minTextLen) do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784067.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784099.png[/img][/url] str := str + strPower[i]; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784130.png[/img][/url] Inc(i); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784146.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784177.png[/img][/url] Result := IntToHex(oLen,lenStrWidth)+str; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784208.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784239.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784255.png[/img][/url]function TCXXStrSecurity.TransNumberToString(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784286.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784317.png[/img][/url] i:word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784349.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784380.png[/img][/url] Result := ''; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784396.png[/img][/url] for i := 0 to Length(strText) div 2 - 1 do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784427.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784458.png[/img][/url] Result := Result +CHR(StrToInt('$'+Copy(strText,i*2+1,2))); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784489.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784505.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784536.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784567.png[/img][/url]function TCXXStrSecurity.TransOneByte(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784599.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784630.png[/img][/url] i,len:word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784646.png[/img][/url] t:char; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784677.png[/img][/url] pch:PChar; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784708.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784755.png[/img][/url] pch := PChar(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784771.png[/img][/url] len := Length(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784802.png[/img][/url] for i := 0 to len div 2 - 1 do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784833.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784864.png[/img][/url] t := pch[2*i]; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784896.png[/img][/url] pch[2*i] := pch[2*i+1]; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784911.png[/img][/url] pch[2*i+1] := t; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784942.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803784974.png[/img][/url] Result := String(pch); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803785005.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803785036.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803785052.png[/img][/url]function TCXXStrSecurity.TransStringToNumber(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803785083.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803785114.png[/img][/url] len,i:Word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786052.png[/img][/url] str:string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786083.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786114.png[/img][/url] len := Length(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786146.png[/img][/url] str := ''; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786177.png[/img][/url] for i := 1 to len do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786333.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786364.png[/img][/url] str := str + IntToHex(Ord(strText[i]),2); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786396.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786411.png[/img][/url] Result := str; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786442.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786474.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786505.png[/img][/url]function TCXXStrSecurity.XORString(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786536.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786567.png[/img][/url] len,k:word; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786599.png[/img][/url] b:Byte; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786630.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786661.png[/img][/url] Result := ''; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786677.png[/img][/url] len := Length(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786708.png[/img][/url] for k := 1 to len do [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786739.png[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786771.png[/img][/url] b := Ord(strText[k]); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786786.png[/img][/url] if k mod 2 =0 then [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786817.png[/img][/url] b := b xor k [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786849.png[/img][/url] else [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786880.png[/img][/url] b := b xor (len-k); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786911.png[/img][/url] Result := Result + CHR(b); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786927.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803786958.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787005.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787036.png[/img][/url]function TCXXStrSecurity.DecodeString(const strPassword: string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787067.png[/img][/url] const isByteStr: boolean): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787099.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787114.png[/img][/url] isByteResult := isByteStr; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787146.png[/img][/url] Result := DecodeString(strPassword); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787177.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787208.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787224.png[/img][/url]function TCXXStrSecurity.EncodeString(const strText: string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787255.png[/img][/url] const isByteStr: boolean): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787286.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787317.png[/img][/url] isByteResult := isByteStr; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787349.png[/img][/url] Result := EncodeString(strText); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787364.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787396.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787427.png[/img][/url]end. [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787474.png[/img][/url] 5、 应用适应器源码: [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787505.png[/img][/url]//------------------------------------------------------------------------------ [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787536.png[/img][/url]// [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787583.png[/img][/url]// 产品名称:自有版权的字符串加密算法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787599.png[/img][/url]// 产品简介:将字符串按自行独立设计的加密算法进行加、解密处理 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787630.png[/img][/url]// 产品作者:成晓旭 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787661.png[/img][/url]// E-Main: CXXSoft@sohu.com [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787692.png[/img][/url]// 产品版本:1.0版 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787724.png[/img][/url]// 版权所有:成晓旭 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787739.png[/img][/url]// 备注: 任何人使用此类时,请保留此段自述文件,谢谢! [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787771.png[/img][/url]// 单元文件:unSecurityAdapter.pas [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787802.png[/img][/url]// 单元说明:算法接口类TCXXStrSecurity的定义及实现 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787833.png[/img][/url]// 开发时间:2006-06-27 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787849.png[/img][/url]// 增加接口类,封闭对算法类的管理细节,以方便客户使用 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787880.png[/img][/url]//------------------------------------------------------------------------------ [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787911.png[/img][/url]unit unSecurityAdapter; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787942.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787974.png[/img][/url]interface [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803787989.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788021.png[/img][/url]uses [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788052.png[/img][/url] unSecurity; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788083.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788099.png[/img][/url]type [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788130.png[/img][/url] TSecurityAdapter = class [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788177.png[/img][/url] private [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788192.png[/img][/url] public [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788224.png[/img][/url] //字符串加密方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788255.png[/img][/url] class function EncodeString(const strText:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788286.png[/img][/url] //字符串解密方法 [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788317.png[/img][/url] class function DecodeString(const strPassword:string):string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788333.png[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788364.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788427.png[/img][/url]implementation [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788458.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788474.png[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788505.png[/img][/url] security:TCXXStrSecurity; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788536.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788567.png[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788599.png[/img][/url]...{ TSecurityAdapter } [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788614.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788646.png[/img][/url]class function TSecurityAdapter.DecodeString( [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788677.png[/img][/url] const strPassword: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788708.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788724.png[/img][/url] Result := ''; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788771.png[/img][/url] if Assigned(security) then [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788802.png[/img][/url] Result := security.DecodeString(strPassword,true); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788833.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788849.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788880.png[/img][/url]class function TSecurityAdapter.EncodeString(const strText: string): string; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788911.png[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788942.png[/img][/url] Result := ''; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788958.png[/img][/url] if Assigned(security) then [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803788989.png[/img][/url] Result := security.EncodeString(strText,true); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789021.png[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789052.png[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789083.png[/img][/url]initialization [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789099.png[/img][/url] security := TCXXStrSecurity.Create(false); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789130.png[/img][/url]finalization [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789177.png[/img][/url] security.Free(); [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789192.png[/img][/url] security := nil; [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789224.png[/img][/url]end. [url=http://www.wangchao.net.cn/bbsdetail_997651.html][img]http://images.wangchao.net.cn/images/upload/images/lsdn/1189803789255.png[/img][/url]
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有