首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

小鸟 这是一个口令加密的自定义函数,有哪位高手能够解答每行代码的含义,要详细点.谢了

2012-02-22 
小鸟求助: 这是一个口令加密的自定义函数,有谁能够解答每行代码的含义,要详细点.谢了Function kljm (var D

小鸟求助: 这是一个口令加密的自定义函数,有谁能够解答每行代码的含义,要详细点.谢了
Function kljm (var Djmkl: String): String;
var i: integer;
  kl: string;
  k: integer;
  
begin
kl:='';
For i:= 1 To Length(Djmkl) do
begin
  k:=ord(Djmkl[i]);
  If (k >= 42) And (k <= 100) Then
  begin
  k:= k - 9;
  end
  Else
  begin
  If (k < 42) And (k >= 32) Then
  begin
  k:= k + 10;
  end
  Else
  begin
  If (k > 100) And (k < 127) Then
  k:= k - 11;
  end;
  If k = 39 Then
  k:= k + 1 ;
  end;
  kl:= kl + char(k);
end;
Kljm:= kl;
end;

[解决办法]
................
[解决办法]
[code=Delphi(Pascal)][/code]
var
[/code]
[解决办法]
把字符串按位取asc,如果是字符就把asc加10如果是大写字母就-11如果是39就+1.......
[解决办法]

Delphi(Pascal) code
Function kljm (var Djmkl: String): String; var   i: integer;   kl: string;   k: integer;    begin   kl:= ' ';   For i:= 1 To Length(Djmkl) do               //循环字符串的每个字符  begin     k:=ord(Djmkl[i]);                         //求字符的Ascii码     //以下都是根据Ascii码范围进行移位处理     //Ascii码表参见:[url=http://www.dqdn.cn/c/fl/js601.asp][/url]    If (k  >= 42) And (k  <= 100) Then            begin       k:= k - 9;     end     Else     begin       If (k  < 42) And (k  >= 32) Then       begin         k:= k + 10;       end       Else       begin         If (k  > 100) And (k  < 127) Then           k:= k - 11;       end;       If k = 39 Then         k:= k + 1 ;     end;    //移位end     kl:= kl + char(k);   end;  Kljm:= kl;            //字符串中各字符移位后所得字符串end; 

热点排行