move api
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package com.mir4updater.backend.utils;
|
||||
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Random;
|
||||
|
||||
//生成验证码,并将验证码存入session中,以ip为key
|
||||
public class CheckCodeUtils {
|
||||
public static BufferedImage getCheckCode(HttpServletRequest request, String ip) {
|
||||
int width = 60, height = 30;
|
||||
//创建一个图像,宽60 高30
|
||||
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
|
||||
Graphics g = image.getGraphics();
|
||||
Random random = new Random();
|
||||
g.setColor(getRandomColor(200, 250));
|
||||
g.fillRect(0, 0, width, height);
|
||||
g.setFont(new Font("Times New Roman", Font.PLAIN, 18));
|
||||
g.setColor(getRandomColor(160, 200));
|
||||
//干扰线生成
|
||||
for (int i = 0; i < 10; i++) {
|
||||
int x = random.nextInt(width);
|
||||
int y = random.nextInt(height);
|
||||
int xl = random.nextInt(12);
|
||||
int yl = random.nextInt(12);
|
||||
g.drawLine(x, y, x + xl, y + yl);
|
||||
}
|
||||
String strCode = "";
|
||||
for (int i = 0; i < 4; i++) {
|
||||
String strNumber = String.valueOf(random.nextInt(10));
|
||||
strCode = strCode + strNumber;
|
||||
//设置字体颜色
|
||||
g.drawString(strNumber, 13 * i + 6, 20);
|
||||
}
|
||||
System.out.println("当前ip" + ip);
|
||||
System.out.println("当前验证码" + strCode);
|
||||
request.getSession().setAttribute(ip, strCode);
|
||||
g.dispose();
|
||||
return image;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 随机获取颜色的方法
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static Color getRandomColor(int fc, int bc) {
|
||||
Random random = new Random();
|
||||
Color reandomColor = null;
|
||||
if (fc > 255) {
|
||||
fc = 255;
|
||||
}
|
||||
if (bc > 255) {
|
||||
bc = 255;
|
||||
}
|
||||
int r = fc + random.nextInt(bc - fc);
|
||||
int g = fc + random.nextInt(bc - fc);
|
||||
int b = fc + random.nextInt(bc - fc);
|
||||
reandomColor = new Color(r, g, b);
|
||||
return reandomColor;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user