使用步骤
1
注册账户
2
开通应用
3
前端集成
4
后端验证集成
5
验证结果
首页 》快速接入

接入DEMO

注册账户

点击下方按钮进行注册
注册账号

开通应用

1: 登陆账号后点击开通应用。
2:点击添加。
3:填写应用信息。
4:点击保存后即开通应用

前端集成

添加jquery依赖:

<script src="https://static.bughunter.cn/jquery/jquery.min.js"></script>
                                    

添加js组件:

<script src="https://static.bughunter.cn/captcha/rolling/js/jquery.captcha.rolling.js"></script>

添加css文件:

<link rel="stylesheet" href="https://static.bughunter.cn/captcha/rolling/css/rolling.css"/>

指定放验证码按钮的div:

<div id="captha1"></div>
   									

添加script脚本:

<script>
	function callback(isSuccess){
		alert(isSuccess);	
	}
	var sliderObj = new SliderVerification("captha1",{successCallback:"callback"});
	
</script>
   									

效果

后端验证集成(java)

为了安全跟安全使用验证码,接入图片验证码,需要后端进行二次验证。 当用户完成上述代码后,请将验证码自动生成的表单input框的name="applyId"提交到后端, 根据 applyId=${applyId} 格式。在加上appsecret 。格式如下:applyId=${captach_apply_val}&appsecret 进行MD5运算,生成签名。 将签名和appid 以及applyId=?,appId=?,sign=?,通过 post 方式提交到http://www.bughunter.cn/captha/checkvalidate.htm进行验证。 验证通过返回数据:{"result":"{\"data\":\"\",\"message\":\"success\"}","status":"200"} :验证不通过通过则返回json数据:{"code":"400","message":"failed","status":"failure"}.

java样例代码

String appId="xxx"; //开通应用时获得。
String appSecret="xxxx";//开通应用时获得
String applyId=request.getParameter("appId");
String sign=request.getParameter("sign");
//生成签名
String str=”applyId="+applyId+“&”+appSecret;
String sign=MD5Util.MD5(str); //md5工具类,可以参照下方样例。
HttpUtils.post(.....,"appId=?&applyId=?&sign=?");
	
									

MD5

public class MD5Util {
	private  static Logger log = LoggerFactory.getLogger(MD5Util.class);
    public final static String MD5(String s) {
        char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};       
        try {
            byte[] btInput = s.getBytes();
            // 获得MD5摘要算法的 MessageDigest 对象
            MessageDigest mdInst = MessageDigest.getInstance("MD5");
            // 使用指定的字节更新摘要
            mdInst.update(btInput);
            // 获得密文
            byte[] md = mdInst.digest();
            // 把密文转换成十六进制的字符串形式
            int j = md.length;
            char str[] = new char[j * 2];
            int k = 0;
            for (int i = 0; i < j; i++) {
                byte byte0 = md[i];
                str[k++] = hexDigits[byte0 >>> 4 & 0xf];
                str[k++] = hexDigits[byte0 & 0xf];
            }
            return new String(str).toLowerCase();
        } catch (Exception e) {
            log.error(e.getMessage());
            return null;
        }
    }
}
											
									

验证结果