用java生成一个附加码。

原创 2006年05月22日 13:00:00

好久没有写个东西了.最近好忙.希望大家能够用的上这个附加码.
/**
*@作者 pxjianke
*@目标  生成附加码,免得别人破解密码
*
*/

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServlet;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import java.awt.Font;
import java.awt.image.BufferedImage;
import java.awt.Graphics;
import java.awt.Color;
import com.encrypts.StringEncrypt;

public class AuthImgServlet
    extends HttpServlet {

  private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
  private static char numbersAndLetters[] =
      "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
  private Font mFont = new Font("Times New Roman", Font.BOLD, 14);
  public AuthImgServlet() {
  }

  //Initialize global variables
  public void init() throws ServletException {
  }

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    response.setContentType("image/jpeg");
    ServletOutputStream out = response.getOutputStream();
    BufferedImage image = new BufferedImage(70, 17, BufferedImage.TYPE_INT_RGB);
    Graphics g = image.getGraphics();
    g.setColor(Color.WHITE);
    g.fillRect(0, 0, 70, 17);
    g.setColor(Color.red);
    g.setFont(mFont);
    String temp=getStringCode(6);
    HttpSession hs=request.getSession();
    hs.setAttribute("createImage",(new StringEncrypt(temp.toLowerCase())).toString());
    for(int i=0;i<6;i++){
      g.drawString(temp.substring(i,i+1),i*11+2,14);
    }
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    encoder.encode(image);
    out.close();
  }

  private String getStringCode(int len) {
    StringBuffer strCode = new StringBuffer();
    int nRand = (int) Math.round(Math.random() * 100D);
    for (int i = 0; i < len; i++) {
      nRand = (int) Math.round(Math.random() * 100D);
      strCode.append(numbersAndLetters[nRand % (numbersAndLetters.length - 1)]);
    }
    return strCode.toString();
  }

  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    doGet(request, response);
  }

  //Clean up resources
  public void destroy() {
  }
}

Java进阶之 如何自动生成代码

一、前言:为什么要有代码的自动生成?     对于这个问题 最简洁直接的回答就是:代替手动编写代码、提高工作效率。     什么样的场景和代码适合用自动生成这种方式呢?     做过Java服务端的...
  • l416112167
  • l416112167
  • 2014年12月27日 15:43
  • 5838

Java程序:自动生成一个n阶矩阵

Java程序:自动生成一个n阶矩阵
  • DezZZZZZZ
  • DezZZZZZZ
  • 2017年01月08日 09:26
  • 605

java生成图表格式图片(1)

因为前段时间有这个需求,并且一张图片中可能有多个图表,每个图表有都有各自的标题和TableHeader(th). 所以研究了一下,这一篇的思路是直接生成图片: 1.工具类 public st...
  • jishoujiang
  • jishoujiang
  • 2017年11月18日 09:01
  • 131

java实现图的最小生成树问题

最小生成树问题 1、针对带权无向图 2、针对连通图 最小生成树问题就是找到V-1条边连接V个顶点且总权值最小 切分定理 算法需要用到切分定理,切分即把图中的顶点分成两部分。若一条边的两个端点分别属于切...
  • qq_33535433
  • qq_33535433
  • 2017年07月10日 21:46
  • 196

Java生成随机字符串

Java生成随机字符串,必须包含数字、小写字母、大写字母 一道算法题,生成随机字符串,必须包含数字、小写字母、大写字母。 为了生成随机数方便,特别编写StdRandom类(注1),API如...
  • chenxingking
  • chenxingking
  • 2014年04月11日 13:14
  • 1369

Java随机生成定长纯数字或数字字母混合数

import java.util.Random; public class RandomCharData { //可以将字符转换赋值给int类型,查看其ASCII码 public st...
  • u012012900
  • u012012900
  • 2017年04月13日 15:37
  • 344

java创建word文档

import java.awt.Color; import java.io.FileOutputStream; import java.util.Date; import com.lowagie.te...
  • wangdachi
  • wangdachi
  • 2014年05月28日 17:28
  • 1166

java随机产生几个不同的字符

最近在读《java编程思想》的时候看到了一段代码,目的是随机产生几个不同的字符,看到这个需求第一感觉就是在已产生的字符基础上去判断新的字符是否已经出现,如果出现,就生成新的字符........按照这个...
  • hg_zw
  • hg_zw
  • 2015年04月01日 13:33
  • 1276

Java生成自己的软件才能读写的独特格式文件

可能大家曾经碰到过,有一些软件它de
  • peceoqicka
  • peceoqicka
  • 2014年07月27日 19:54
  • 1113

java指定由若干url生成二维码png,然后打包为zip下载

url生成二维码,然后打包为zip下载 上一篇是根据url生成图片打包下载,此篇仅仅多个根据url生成二维码 我沉默,话不多,赢的时候才开口.上代码...
  • sunkuixing
  • sunkuixing
  • 2017年03月18日 17:21
  • 1263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用java生成一个附加码。
举报原因:
原因补充:

(最多只允许输入30个字)