学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

关于登陆密码加密的问题

关于登陆密码加密的问题

近日在网上下载了一个固定资产管理系统的源代码(PB + mssql)的,其中登陆时管理员代码为0000,但是密码不知道,是经过加密的,加密代码为:
//口令加密
// 字符串
//返回值:字符串
integer i,li_kllen
string ls_zmkl
li_kllen=len(a_ymm)
for i=1 to li_kllen
ls_zmkl=ls_zmkl + char(asc(mid(a_ymm,i,1)) + i +li_kllen)
next
return ls_zmkl

那外大哥知道怎样还原密码?

在数据库中它的密码变为:~oACDE

TOP

既然你代码都能看到何必来查看其密码呢?

你直接将其验证密码的代码给屏蔽了就OK了噻!!

TOP


加密的方法是:把明文的每一个字符转为ASCII码,再加上相应的字符在明文中的位置,再加上明文的长度得到一个整型数据(ASCII码),再把它转成相应的字符,连接起来就是密文了。
知道加密的方法,你就可以进行解密了呀。把上面的函数整理一下就OK了。
//口令加密
// 字符串
//返回值:字符串
integer i,li_kllen
string ls_zmkl
li_kllen=len(a_ymm)
for i=1 to li_kllen
ls_zmkl=ls_zmkl + char(asc(mid(a_ymm,i,1)) + i +li_kllen)
next
return ls_zmkl
//口令解加密
// 字符串
//返回值:字符串
integer i,li_kllen
string ls_zmkl
li_kllen=len(a_ymm)
for i=1 to li_kllen
ls_zmkl=ls_zmkl + char(asc(mid(a_ymm,i,1)) - i -li_kllen)
next
return ls_zmkl

通过解密得到的密码是:wg8999

TOP

学了一招,[em31]

TOP

受益匪浅

TOP

厉害

TOP

发新话题