JAVA解pb密码,谁帮小弟我用java实现一上这段PB的加密解密方法,非常感谢

当前位置:我的异常网» J2SE » 谁帮小弟我用java实现一上这段PB的加密解密方法,非

谁帮小弟我用java实现一上这段PB的加密解密方法,非常感谢

www.myexceptions.net  网友分享于:2013-12-24  浏览:9次

哪位高手帮我用java实现一下这段PB的加密解密方法,非常感谢!

下面这段代码为PB代码,是实现密码加密和解密的。小弟现在需要用java来实现!哪位高手帮忙一下。非常感谢!

string ls_lockpasswd,ls_unlockpasswd,ls_returnpasswd,ls_tmppwd

string ls_serialno[],ls_tmpserialno,ls_run

int li_i,li_j,li_time,li_pwdlen,li_partpwdlen

string ls_mod = '!'

//vs_passwd='ABCDEF'

if lower(vs_runway) = 'lock' then   //给可见密码加密变为隐形密码

li_pwdlen = len(vs_passwd)

if li_pwdlen 

messagebox('提示','传入错误的可见密码!')

return '-1'

end if

if mod(li_pwdlen,2) <> 0 then

ls_mod = '^'

vs_passwd = ls_mod + vs_passwd

li_pwdlen = len(vs_passwd)

end if

li_partpwdlen = 0.5*li_pwdlen

//1.随机产生n位的序列号码

li_j = 1

do while li_j <= 144

ls_serialno[li_j] = ''

li_i = 1

ls_run = 'T'

do while li_i <= li_pwdlen

do while ls_run = 'T'

ls_tmpserialno = char(64+Rand(li_pwdlen))

if  pos(ls_serialno[li_j],ls_tmpserialno) > 0 then

ls_run = 'T'

else

ls_run = 'F'

end if

loop

ls_serialno[li_j] = ls_serialno[li_j]+ls_tmpserialno

li_i = li_i + 1

ls_run = 'T'

loop

li_j = li_j + 1

loop

li_time =integer(mid(string(now(),'hh:mm:ss'),1,2)) +integer(mid(string(now(),'hh:mm:ss'),4,2))+integer(mid(string(now(),'hh:mm:ss'),7,2))

if li_time = 0 then

li_time = rand(144)

end if

//ls_serialno[li_time]='645231'

//2.按随机产生n位的序列号码给可见密码重新排序

li_i = 1

ls_tmppwd=''

do while li_i <= li_pwdlen

ls_tmppwd=ls_tmppwd+mid(ls_serialno[li_time],li_i,1)+mid(vs_passwd,asc(mid(ls_serialno[li_time],li_i,1))- 64,1)

li_i = li_i +1

loop

//ls_tmppwd='3C4D1A2B6F5E'

ls_lockpasswd=''

if mod(asc(mid(ls_tmppwd,1,1)), 2 ) = 0 then

li_i = 1

do while  li_i <= li_partpwdlen

//one=one+two

ls_lockpasswd=ls_lockpasswd+right('000'+string(asc(mid(ls_tmppwd,(li_i - 1)*4+1,1))+asc(mid(ls_tmppwd,(li_i -  1)*4+2,1))),3)

//two=two

ls_lockpasswd=ls_lockpasswd+right('000'+string(asc(mid(ls_tmppwd,(li_i -  1)*4+2,1))),3)

//three=three

ls_lockpasswd=ls_lockpasswd+right('000'+string(asc(mid(ls_tmppwd,(li_i -  1)*4+3,1))),3)

//four=three+four

ls_lockpasswd=ls_lockpasswd+right('000'+string(asc(mid(ls_tmppwd,(li_i -  1)*4+3,1))+asc(mid(ls_tmppwd,(li_i -  1)*4+4,1))),3)

li_i= li_i + 1

loop

else

li_i = 1

do while  li_i <= li_partpwdlen

//one=one改到这里201211221809

ls_lockpasswd=ls_lockpasswd+right('000'+string(asc(mid(ls_tmppwd,(li_i -  1)*4+1,1))),3)

//two=one+two

ls_lockpasswd=ls_lockpasswd+right('000'+string(asc(mid(ls_tmppwd,(li_i -  1)*4+1,1))+asc(mid(ls_tmppwd,(li_i -  1)*4+2,1))),3)

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值