金蝶商贸版密码服务器没显示,金蝶KIS商贸版无损解密用户密码

金蝶KIS商贸版的密码忘记了,有人说可以

update t_user set fsid=null where fname='manager'

来清除密码

看了一下密码明文,觉得比较有规律,写了一个无损解密程序

#= 金蝶KIS商贸版密码解密

class KisDecode

def self.decode(s)

s1 = s[") F \", ,P T #8 *P!D &D 80!N &@ <0 C '< : !M &4 )0".size..-1]

index = 0

s2 = []

while index

s2 << s1[index..index+7]

index+=8

end

ret = ""

s2.each do |seg|

a1 = seg[0..1]

ret << ((a1[0]*64 + a1[1] - 2080 )/(4**0)).chr if a1=~/\S/

a2 = seg[3..4]

ret << ((a2[0]*64 + a2[1] - 2080 )/(4**1)).chr if a2=~/\S/

a3 = seg[6..7]

ret << ((a3[0]*64 + a3[1] - 2080 )/(4**2)).chr if a3=~/\S/

end

return ret

end

end

mingwen = ""

while true

puts "mingwen:"

mingwen = $stdin.read

break if mingwen=~/^by/ || mingwen=~/^ex/

puts KisDecode.decode(mingwen.rstrip)

end

# 运行方式:在cmd窗口中 ruby kis_decode.rb

#明文请 select * from t_user,fsid是明文字段,测试用明文:

#) F ", ,P T #8 *P!D &D 80!N &@ <0 C '< : !M &4 )0 Q #( ,P T #4 -@ W #@ .0 P "D * J "8 7@ E "0 (P! "$

#输入以上明文回车,然后^Z(window下命令行中^Z表示结束)

#解密以后是:1234567890)(*&^%$#@!