做网站要多久软文推广产品
图形验证码可以用在短信验证码前面,作短信防刷。 发送短信前调用图形验证码接口,获取该设备的图形验证码,用户在前端填写好图形上的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'