大哥,请把Txtencrypt.Text = "" 放在循环外面好不好?
我被你整死了,一句句往下读代码,然后发现每次循环开始Txtencrypt.Text 都被设为空值
到最后一个循环Txtencrypt.Text始终都被你设为空.然后在最后Txtencrypt.Text = Txtencrypt.Text aryencode(intmid)
当然只有1个字符
而且加密的结果不是第一个字符,而是最后一个...
另外对你的加密方式做下评判,很容易破解,建议用随机数进行加密,我写了两个这样的程序自己玩
最后一点建议,不要使用Txtencrypt.Text = Txtencrypt.Text aryencode(intmid)等类似的控件属性来进行操作,这样会使你的程序运行很慢
建议还是不要怕麻烦,定义一个变量来代入你的运算过程,最后在用Txtencrypt.Text显示出来
其实真的可以一个个试,很多人不想一个个试的原因是,总共1000个数字,这个数字看起来很大,所以让很多人望而却步:
三个数字的密码锁有1000中排列方式,如果2秒试一个,也就2000秒,2000秒÷60=33.33分钟,也就是说,30分钟左右,就可以把1000中排列方式试一遍,而且用不上30分钟,因为试到一半就可以开了。这种方式叫做穷举。
还有一种二分法,也是穷举,如果运气好,可以省掉一半的时间和精力:第一步:从500开始往999试或者从500开始往000试,如果运气好,可能正确的密码刚好在试的那一半中,如果不正确,第二步,如果您是从500往000试的,结果没有在这里面,您可以在500-999的中间数字750开始往500试或者往999试,以此类推。
10四次方10000次 四位密码每位都可能出现0~9十个数字,所以是10的四次方