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

请把下列delphi加密解密代码转化为c#解决办法

2012-01-05 
请把下列delphi加密解密代码转化为c#function TForm_Login.jmPass(str: string): stringvarm,str1: strin

请把下列delphi加密解密代码转化为c#
function TForm_Login.jmPass(str: string): string; 
var 
  m,str1: string; 
  asc,asc1: byte; 
  i: integer; 
begin 
  m := '\iklop;lk,kjjhh\ ';  
  for i:=1 to length(str) do 
  begin 
  asc := ord(str[i]); 
  asc := asc and $F; 
  asc1 := ord(m[i]); 
  asc1 := asc1 and $F; 
  asc1 := asc xor asc1; 
  asc := ord(str[i]); 
  asc := asc and $F0; 
  asc := asc + asc1; 
  str1 := str1 + chr(asc); 
  end; 
  result := str1; 
end;

($F是二进制前四位改为0000)

[解决办法]
这个代码没有这样麻烦,这样写

Delphi(Pascal) code
function jmPass1(str: string): string;var  m: string;  I: Integer;begin  m := '\iklop;lk,kjjhh\  ';  for I := 1 to Length(str) do    Result := Result + Chr((Ord(str[i]) and $F0) or      (Ord(str[i]) and $F) xor (ord(m[i]) and $F));end; 

热点排行