下面是我用java写的一个加密方法。我想把它换成delphi该怎么转换,菜鸟请求大家的帮助
//密码加密,输入原始密码(可以包含字母和数字以外的字符),返回加密后的密码
public class Xtdl implements java.io.Serializable{ private String sqlStr = "";
private ResultSet rs = null;
private WriteLog writelog = new WriteLog(); public ArrayList arrMenus1 = new ArrayList();
public ArrayList arrMenus2 = new ArrayList();
public ArrayList arrMenus3 = new ArrayList(); //空构造函数
public Xtdl()
{
}
public String encrypt(String sPwd)
{
String afpass="";
int len;
len=sPwd.length(); int rest;
rest=10-len; char tmp[];
tmp=sPwd.toCharArray(); int en[];
en=new int[10]; char enchar[];
enchar=new char[10]; for(int i=0;i<sPwd.length();i++)
{
en[i]=(int)(tmp[i])+i;
} for(int i=sPwd.length();i<10;i++)
{
en[i]=100+i;
} for(int i=0;i<5;i++)
{
enchar[4-i]=(char)en[i];
} for(int i=5;i<10;i++)
{
enchar[14-i]=(char)en[i];
} for(int i=0;i<10;i++)
{
afpass=afpass+enchar[i];
}
return afpass;
}
}
如何转换成delphi。
//密码加密,输入原始密码(可以包含字母和数字以外的字符),返回加密后的密码
public class Xtdl implements java.io.Serializable{ private String sqlStr = "";
private ResultSet rs = null;
private WriteLog writelog = new WriteLog(); public ArrayList arrMenus1 = new ArrayList();
public ArrayList arrMenus2 = new ArrayList();
public ArrayList arrMenus3 = new ArrayList(); //空构造函数
public Xtdl()
{
}
public String encrypt(String sPwd)
{
String afpass="";
int len;
len=sPwd.length(); int rest;
rest=10-len; char tmp[];
tmp=sPwd.toCharArray(); int en[];
en=new int[10]; char enchar[];
enchar=new char[10]; for(int i=0;i<sPwd.length();i++)
{
en[i]=(int)(tmp[i])+i;
} for(int i=sPwd.length();i<10;i++)
{
en[i]=100+i;
} for(int i=0;i<5;i++)
{
enchar[4-i]=(char)en[i];
} for(int i=5;i<10;i++)
{
enchar[14-i]=(char)en[i];
} for(int i=0;i<10;i++)
{
afpass=afpass+enchar[i];
}
return afpass;
}
}
如何转换成delphi。
function Encrypt(APwd: String): String;
var
en: array[1..10] of Integer;
enChar: array[1..10] of Char;
i: Integer;
begin
Result := '';
for i := 1 to Length(APwd) do
en[i] := Integer(APwd[i]) + i - 1;
for i := Length(APwd) + 1 to 10 do
en[i] := 100 + i - 1;
for i := 1 to 5 do
enChar[6 - i] := Char(en[i]);
for i := 6 to 10 do
enChar[16 - i] := Char(en[i]);
for i := 1 to 10 do
Result := Result + enChar[i];
end;