• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

delphi 转 C#

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

const
MODS:tmods=('ke3wms','jnx9i8','dpqzl6','vyg1bh','7a4c2f','u5rto0');//不清楚这个是什么数据类型?
SDOM:tmods=('wa6j1c','fblrk7','mg9q0s','vu3zth','po4xy2','ni5d8e');
DOMS:tmods=('mg9qwc','vu3zth','a6j10s','fbk7lr','5dpoy2','4xni8e');

function discryptpassword(apassword:string):string;
var tmpi,i:integer;
begin
result:=lattertosixstr(apassword,sdom);
if length(result)<3 then
begin
result:='';
exit;
end;
tmpi:=0;
for i:=1 to 3 do
tmpi:=tmpi*6+strtoint(result[i]);
result:=copy(result,4,tmpi);
result:=sixstrtolatter(result,mods);
end;


function lattertosixstr(astr:string;amods:tmods):string;
var i,n,p:integer;tmps1,tmps2:string;
begin
tmps1:='';
tmps2:='';
for i:=1 to length(astr) do
begin
for n:=1 to 6 do
begin
p:=pos(astr[i],amods[n]);
if p>0 then
begin
tmps1:=tmps1+inttostr(n-1);
tmps2:=inttostr(p-1)+tmps2;
break;
end;
end;
end;
result:=tmps1+tmps2;
end;

function sixstrtolatter(astr:string;amods:tmods):string;
var i,n:integer;
begin
result:='';n:=length(astr);
if (n mod 2)=1 then exit;//求余
for i:=1 to (n div 2) do //求商
begin
result:=result+amods[ord(astr[i])-ord('0')+1][ord(astr[n-i+1])-ord('0')+1];
end;
end;


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于Delphi的SocketI/O模型全接触发布时间:2022-07-18
下一篇:
Delphi 的内存操作函数(2): 给数组指针分配内存发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap