在门户网站的登录或是注册页面经常出现一些验证码,这些验证码可以起到防止恶意刷接口,降低并发等。
1.验证码展示
2.图片base64编码。在java后台创建方法返回经过加密后的图片的字符串,该字符串就是编码后的结果
//获取随机验证码及其加密图片
//第一个参数为图片的长度 第二个参数为图片的高度 第三个参数为需要在图片上展示的验证码
public static String verifyCode(int w, int h, String code) {
//1.base64编码器
BASE64Encoder encoder = new BASE64Encoder();
//2.输出流
ByteArrayOutputStream data = new ByteArrayOutputStream();
//3.合并图片
try {
outputImage(w, h, data, code);
} catch (IOException e) {
e.printStackTrace();
}
//4.编码图片
return encoder.encode(data.toByteArray());
}
3.在获取到的字符串加上前缀
data:image/jpeg;base64,
4.前端使用img标签对验证码展示
<img id="captcha-image-temp" @click="getImageCode"
class="captcha-image-temp"
:src="后端base64编码的验证码字符串" alt="点击换图" title="点击换图"
style="vertical-align: middle; cursor: pointer;">