zhibing.pu
2024-08-19 b9522d131e168a92c88f23e2c0a3a2df079926b4
ruoyi-gateway/src/main/java/com/ruoyi/gateway/config/KaptchaTextCreator.java
@@ -1,75 +1,61 @@
package com.ruoyi.gateway.config;
import java.util.Random;
import com.google.code.kaptcha.text.impl.DefaultTextCreator;
/**
 * 验证码文本生成器
 *
 *
 * @author ruoyi
 */
public class KaptchaTextCreator extends DefaultTextCreator
{
    private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(",");
    @Override
    public String getText()
    {
        Integer result = 0;
        Random random = new Random();
        int x = random.nextInt(10);
        int y = random.nextInt(10);
        StringBuilder suChinese = new StringBuilder();
        int randomoperands = random.nextInt(3);
        if (randomoperands == 0)
        {
            result = x * y;
            suChinese.append(CNUMBERS[x]);
            suChinese.append("*");
            suChinese.append(CNUMBERS[y]);
        }
        else if (randomoperands == 1)
        {
            if ((x != 0) && y % x == 0)
            {
                result = y / x;
                suChinese.append(CNUMBERS[y]);
                suChinese.append("/");
                suChinese.append(CNUMBERS[x]);
            }
            else
            {
                result = x + y;
                suChinese.append(CNUMBERS[x]);
                suChinese.append("+");
                suChinese.append(CNUMBERS[y]);
            }
        }
        else if (randomoperands == 2)
        {
            if (x >= y)
            {
                result = x - y;
                suChinese.append(CNUMBERS[x]);
                suChinese.append("-");
                suChinese.append(CNUMBERS[y]);
            }
            else
            {
                result = y - x;
                suChinese.append(CNUMBERS[y]);
                suChinese.append("-");
                suChinese.append(CNUMBERS[x]);
            }
        }
        else
        {
            result = x + y;
            suChinese.append(CNUMBERS[x]);
            suChinese.append("+");
            suChinese.append(CNUMBERS[y]);
        }
        suChinese.append("=?@" + result);
        return suChinese.toString();
    }
public class KaptchaTextCreator extends DefaultTextCreator {
   private static final String[] CNUMBERS = "0,1,2,3,4,5,6,7,8,9,10".split(",");
   @Override
   public String getText() {
      Integer result = 0;
      Random random = new Random();
      int x = random.nextInt(10);
      int y = random.nextInt(10);
      StringBuilder suChinese = new StringBuilder();
      int randomoperands = random.nextInt(3);
      if (randomoperands == 0) {
         result = x * y;
         suChinese.append(CNUMBERS[x]);
         suChinese.append("*");
         suChinese.append(CNUMBERS[y]);
      } else if (randomoperands == 1) {
         if ((x != 0) && y % x == 0) {
            result = y / x;
            suChinese.append(CNUMBERS[y]);
            suChinese.append("/");
            suChinese.append(CNUMBERS[x]);
         } else {
            result = x + y;
            suChinese.append(CNUMBERS[x]);
            suChinese.append("+");
            suChinese.append(CNUMBERS[y]);
         }
      } else if (randomoperands == 2) {
         if (x >= y) {
            result = x - y;
            suChinese.append(CNUMBERS[x]);
            suChinese.append("-");
            suChinese.append(CNUMBERS[y]);
         } else {
            result = y - x;
            suChinese.append(CNUMBERS[y]);
            suChinese.append("-");
            suChinese.append(CNUMBERS[x]);
         }
      } else {
         result = x + y;
         suChinese.append(CNUMBERS[x]);
         suChinese.append("+");
         suChinese.append(CNUMBERS[y]);
      }
      suChinese.append("=?@" + result);
      return suChinese.toString();
   }
}