金蝶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<s1.size
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)(*&^%$#@!