Recentemente, houve muitos artigos sobre os códigos de verificação de imagem Java, ajudando todos a dominar a tecnologia de geração de código de verificação Java. A seguir, é uma maneira mais simples de gerar códigos de verificação de imagem Java para sua referência.
Atualmente, todas as indústrias considerarão o registro da máquina ao personalizar os sistemas. A maneira mais eficaz agora é entrar na verificação. Existem muitas maneiras de verificar agora:
1. A verificação do problema também é verificação de imagem. Gere uma pergunta na imagem e digite a caixa para inserir a resposta.
2. Verificação da imagem, insira as informações de texto exibidas na figura.
3. A verificação do SMS é bastante complicada e os usuários não gostam muito.
4. Há também o mais recente método de verificação do Baidu. O texto é gerado na imagem e uma caixa de clique de texto aparece para selecionar o texto que você vê na imagem de verificação.
Agora, vamos compartilhar o código para o Java gerar código de verificação, que é um código básico. Pode ser usado diretamente no aprendizado. Se você precisar de uma verificação mais complexa, pode adicionar a verificação lógica.
@ControllerPublic Classe imgverifyCode estende httpServlet { / ** * * / private estático final serialversionuid = 1L; /*** Largura da imagem do código de verificação. */ private int width = 70; /*** A altura da imagem do código de verificação. */ private int altura = 30; / *** Número de caracteres do código de verificação*/ private int codecount = 5; / ** * xx */ private int xx = 0; / *** Altura da fonte*/ private int fontet; / ** * codey */ private int codey; / ** * codesequence */ string [] codesequence = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "A", "B", "B", "C", "C", , "D", "D", "E", "E", "F", "F", "G", "Z", "X", "Q", "V"}; / *** Inicialize os atributos da imagem de verificação*/ public void init () lança servletexception {// Obtenha informações iniciais do web.xml // width string strwidth = width+""; // altura streight = altura+""; // número de caracteres string strcodecount = codecount+""; // converte as informações configuradas em uma tentativa numérica {if (strwidth! = Null && strwidth.length ()! = 0) {width = integer.parseint (strwidth); } if (fort! } if (strCodecount! = null && strcodecount.length ()! = 0) {codecount = Integer.parseint (strCodecount); }} catch (númeroFormatexception e) {e.printStackTrace (); } xx = largura / (codecount + 2); // A distância horizontal de geração de números aleatórios fontet = altura - 12; // a altura numérica da geração de números aleatórios codey = altura - 8; // A distância vertical de geração de números aleatórios} imagens de string protegidas (httpServletRequest req, httpServletResponse resp) lança servletexception, ioexception {init (); // define buffer de imagem bufferImage buffimg = new bufferImage (largura, altura, bufferImage.type_int_rgb); Graphics2d gd = buffimg.creategraphics (); // define buffer de imagem bufferImage buffimg = new bufferImage (largura, altura, bufferImage.type_int_rgb); Graphics2d gd = buffimg.creategraphics (); // define buffer de imagem bufferImage buffimg = new bufferImage (largura, altura, bufferImage.type_int_rgb); Graphics2d gd = buffimg.creategraphics (); // Crie uma classe de gerador de números aleatórios aleatórios aleatórios = novo aleatório (); // preencha a imagem como Gd.setColor White (color.white); gd.fillrect (0, 0, largura, altura); // Crie uma fonte, o tamanho da fonte deve ser determinado de acordo com a altura da imagem. Fonte Fonte = New Font ("FILLSYS", FONT.PLAIN, FONTHEION); // defina a fonte. gd.setFont (fonte); // Desenhe fronteiras. gd.setColor (color.black); gd.drawrect (0, 0, largura - 1, altura - 1); // gera aleatoriamente 4 linhas de interferência, tornando menos provável que o código de autenticação na imagem seja detectado por outros programas. gd.setColor (color.black); for (int i = 0; i <4; i ++) {int x = aleatom.nextInt (largura); int y = random.nextint (altura); int xl = random.nextint (12); int yl = random.nextint (12); gd.drawline (x, y, x + xl, y + yl); } // RandomCode é usado para salvar os códigos de verificação gerados aleatoriamente, para que os usuários possam verificar após o login. StringBuffer RandomCode = new StringBuffer (); int vermelho = 0, verde = 0, azul = 0; // gera aleatoriamente um código de verificação do número do codecwount. for (int i = 0; i <codecwount; i ++) {// Obtenha o número do código de verificação gerado aleatoriamente. String strrand = string.valueof (codesequence [random.nextint (27)]); // Gere componentes de cores aleatórias para construir o valor da cor, para que o valor da cor de cada saída de dígito seja diferente. vermelho = random.nextint (125); verde = random.nextint (255); azul = random.nextint (200); // Use a cor gerada aleatoriamente para desenhar o código de verificação para a imagem. gd.setColor (nova cor (vermelha, verde, azul)); gd.drawstring (strrand, (i + 1) * xx, codey); // combina os quatro números aleatórios gerados. RandomCode.append (strrand); } // Salve o código de verificação de quatro dígitos na sessão. Session httpSession = req.getSession (); session.setAttribute ("validateCode", randomcode.toString ()); // cache de imagem é proibido. resp.setheader ("Pragma", "sem cache"); resp.setheader ("Controle de cache", "sem cache"); resp.SetDateHeader ("Expira", 0); resp.SetContentType ("Image/jpeg"); // Emitida a imagem para o fluxo de saída do servlet. ServletOutputStream SOS = resp.getOutputStream (); Imageio.write (buffimg, "jpeg", SOS); sos.close (); retornar nulo; }}Este código é o método básico para gerar imagens de verificação.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos. Você também pode conferir o artigo anterior para um estudo aprofundado.