2 everyone happy everyone_happy 于 2016.05.11 17:53 提问

怎么判断验证码之前已经生成过??求解答

不要使用将已经生成的验证码和刚刷新出来的验证码进行匹配,这方法不是很好,有没有其他方法解决,确保之前没有生成过一样的验证码

5个回答

caozhy
caozhy   Ds   Rxr 2016.05.11 21:37

除非你把生成过的记录下来,或者按照顺序生成,否则没法判断。但是验证码没有必要这么做,只要是充分随机的就可以。

caozhy
caozhy 回复everyone_happy: 根据香农的理论,这根本不可能办到。
一年多之前 回复
everyone_happy
everyone_happy caozhy 谢了
一年多之前 回复
everyone_happy
everyone_happy 回复caozhy: 我这边是这个需求,好像有什么公式可以用,但是我自己不清楚
一年多之前 回复
everyone_happy
everyone_happy 比如6位的数字+字母的验证码,要尽可能保证不出现重复,如果使用随机函数去生成,那么出现重复的可能性还是比较高的,我想要的是尽可能把这个重复生成的概率变小
一年多之前 回复
mazegong
mazegong   2016.05.12 15:27

这个验证码就是为了防止恶意注册的,其实第一次或者第多少次都一样也是没有关系的。而且已经生成的验证码和刚刷出来的验证码是一样的概率是很小很小的。

GHSYue
GHSYue   2016.05.12 11:37

将新生成的和记录下来的比对即可,但需要维护记录下来的数据,设定时间值,将超过时间的字段删除

u012216727
u012216727   Ds   Rxr 2016.05.11 18:05

这个验证码就是为了防止恶意注册的,其实第一次或者第多少次都一样也是没有关系的。而且已经生成的验证码和刚刷出来的验证码是一样的概率是很小很小的。

u012216727
u012216727 还有数字的你自己搜一下
一年多之前 回复
u012216727
u012216727 这里的链接你点击进去看看:http://www.chi2ko.com/tool/CJK.htm
一年多之前 回复
u012216727
u012216727 也就是常用的字符是用一种码表来表示的,这个码表可以在网上搜到的
一年多之前 回复
u012216727
u012216727 验证码用的是另一种码表的,你可以查一下,根据这个码表的范围来随机生成的验证码几乎是不会重复的,也就是说重复率可以看做是零的
一年多之前 回复
everyone_happy
everyone_happy 使用手机接收这个验证码来进行验证,在一定范围内要尽量确保验证码不出现重复的,毕竟验证码刷新次数多了一定会出现重复,有没有别的方法或者公式判断验证码是否有重复出现呢
一年多之前 回复
havedream_one
havedream_one   2016.05.11 20:34

指定第一个字符,第一次从[0-5]中生成,第二次从[6-9]中生成,后面的随机化

sinat_16921689
sinat_16921689 这样重复几率不是更大?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!