首页
社区
课程
招聘
[求助]请大侠帮忙分析下这段pb代码
2008-7-8 13:13 4814

[求助]请大侠帮忙分析下这段pb代码

2008-7-8 13:13
4814
get_registration_key

double pin = 1.9670926551
string ls_no
string ls_name
string ls_key
double ll_no
double ll_name
double ll_system
double ll_enddate
double ll_diskid
double ll_key
integer i
string ls_zipdate


ls_key = string((rand(1000) * rand(1000)) * 1.9670926551)
ls_key = left(ls_key,8)

if isnull(as_serial_no) then
return ls_key
end if

if trim(as_serial_no) = "" then
return ls_key
end if

if isnull(as_company_name) then
return ls_key
end if

if trim(as_company_name) = "" then
return ls_key
end if

ls_zipdate = f_zip_date(as_enddate)
as_serial_no = as_serial_no + "3.0"

for i = 1 to len(as_serial_no)
ll_no = ll_no + logten(asc(mid(as_serial_no,i,1)) / i + i)
next

for i = 1 to len(as_company_name)
ll_name = ll_name + logten(asc(mid(as_company_name,i,1)) / i + i)
next

for i = 1 to len(as_sys_name)
ll_system = ll_system + logten(asc(mid(as_sys_name,i,1)) / i + i)
next

for i = 1 to len(as_enddate)
ll_enddate = ll_enddate + logten(asc(mid(as_enddate,i,1)) / i + i)
next

for i = 1 to len(as_diskid)
ll_diskid = ll_diskid + logten(asc(mid(as_diskid,i,1)) / i + i)
next

ll_key = logten((ll_no + ll_name + ll_system + ll_enddate + ll_diskid) * 1.9670926551)
ls_key = string(ll_key)
i = pos(ls_key,".")


get_registration_password

double pin = 1.9670926551
string ls_no
string ls_name
string ls_key
double ll_no
double ll_name
double ll_key
integer i


ls_key = string((rand(1000) * rand(1000)) * 1.9670926551)
ls_key = left(ls_key,8)

if isnull(as_userid) then
return ls_key
end if

if trim(as_userid) = "" then
return ls_key
end if

if isnull(as_password) then
as_password = ""
end if

for i = 1 to len(as_userid)
ll_no = ll_no + logten(asc(mid(as_userid,i,1)) / i)
next

for i = 1 to len(as_password)
ll_name = ll_name + logten(asc(mid(as_password,i,1)) / i)
next

ll_key = logten((ll_no + ll_name) * 1.9670926551)
ls_key = string(ll_key)
i = pos(ls_key,".")

if i > 0 then
ls_key = replace(ls_key,i,1,"")
end if

ls_key = left(ls_key,8)
return ls_key



DX帮忙分析下

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (10)
雪    币: 2071
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
sessiondiy 4 2008-7-8 13:30
2
0
重发

以为我眼睛花了
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
flypiao 2008-7-8 13:32
3
0
在那个板块里没有一个回答的
雪    币: 2071
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
sessiondiy 4 2008-7-8 14:08
4
0
下面那个

只管整数
    for i= 1 to Len(userid)         ll_no += userid[i]/i;
    for i= 1 to Len(password)     ll_name += password[i]/i;

上面2个结果相加 * 1.9670926551 , 转成字符串 , 如下:
    ls_key:= (ll_no + ll_name) * 1.9670926551   转成字符串

去掉小数点 '.'    例: '12345.67890' -> '1234567890'

只取左边8位当 ls_key

传回 ls_key = '12345678'

以上纯属猜测
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
flypiao 2008-7-8 14:16
5
0
谢谢楼上的,这个生成出来的注册码是17位的,和输入的注册公司,用户名等都有关系
雪    币: 2071
活跃值: (77)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
sessiondiy 4 2008-7-8 19:38
6
0
你说的是上面
我说的是下面
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
舵手 3 2008-7-8 21:16
7
0
PB里面运行一下就有结果了撒
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
flypiao 2008-7-8 22:11
8
0
咋样运行,不懂PB啊,楼上的帮帮忙啊
雪    币: 414
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
cntom 2008-7-9 19:11
9
0
把as_userid='aaaaa',as_password='bbbbb'
代入去就可运行,但结果为一个8位数,你的函数提供得不全?
ls_key='14905984'
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
flypiao 2008-7-9 23:17
10
0
对对,是8位
因为前3位是固定的,再后面是6位的时间,然后加上后8位
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sea_gu 2008-8-6 13:27
11
0
是,PB里面执行一下就可以了
游客
登录 | 注册 方可回帖
返回