java 图形验证码, 前后台实现

  图形验证码可以用在短信验证码前面,作短信防刷。  发送短信前调用图形验证码接口,获取该设备的图形验证码,用户在前端填写好图形上的string信息后,作为参数请求后台,如果和后台存储图形验证码上的信息一致,就返回短信验证码,否则返回“图形验证码不正确”。后台可以将图形验证码上的信息存储在session中,或者存储在token中。这里采用redis token实现。

   获取验证码: 前端发送带有网卡信息的唯一标识请求, 可以使用网卡+时间作为请求参数; 后台接口生成一个Image信息,和一个与Image上面信息相同的String str2 ,并将Image信息返回给前端,前端做为图形验证码展示,同时将该String信息 str2存储在token中。

   验证验证码: 验证时,前端将图片上的信息读取成 str1  作为接口请求参数传给后台,后台在去取token里面的值str2 作验证。 

实现:

  一个可以生成Image信息和与Image上面字符相同string的工具类:

public class VerifyUtil {
    // 验证码字符集
    private static final char[] chars = {
            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
            'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
            'o', 'p', 'q', 'r', 's', 't', 'u', 'v
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值