content: package com.ruoyi.framework.config;
  
  import java.security.SecureRandom;
  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 SecureRandom();
          int x = random.nextInt(10);
          int y = random.nextInt(10);
          StringBuilder suChinese = new StringBuilder();
          int randomoperands = (int) Math.round(Math.random() * 2);
          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();
      }
  }
  