12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package com.bizmatics.service.config;
- import com.google.code.kaptcha.text.impl.DefaultTextCreator;
- import java.util.Random;
- /**
- * 验证码文本生成器
- *
- * @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 = (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();
- }
- }
|