//設定頁面不快取
response.setheader("pragma","no-cache");
response.setheader("cache-control","no-cache");
response.setdateheader("expires", 0);
// 在記憶體中建立圖象
int width=60, height=20;
bufferedimage image = new bufferedimage(width, height,bufferedimage.type_int_rgb);
// 獲取圖形上下文
graphics g = image.getgraphics();
//生成隨機類
random random = new random();
// 設定背景色
g.setcolor(getrandcolor(200,250));
g.fillrect(0, 0, width, height);
//設定字型
g.setfont(new font("times new roman",font.plain,18));
//畫邊框
color());
// 隨機產生155條干擾線,使圖象中的認證碼不易被其它程式探測到
g.setcolor(getrandcolor(160,200));
for (int i=0;i<155;i++)
// 取隨機產生的認證碼(4位數字)
string srand="";
for (int i=0;i<4;i++)
// 將認證碼存入session
// 圖象生效
g.dispose();
// 輸出圖象到頁面
imageio.write(image, "jpeg", response.getoutputstream());
public color getrandcolor(int fc,int bc)
jsp頁面
如要實現單擊更換驗證碼在js中img.src="servlet/mingzi?i="+ math.random();即可 驗證碼 簡單驗證碼識別
這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...
驗證碼一(驗證碼生成)
根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...
12306驗證碼 驗證碼的架構
最近和眾屌絲一樣,在12306上面刷著春節回家的票。與她大戰無數個回合之後,終於搶到了一張回家的高鐵票,不斷感慨最近人品還不錯。當前,在使用12306的過程中,充滿很多的心酸,念叨了鐵道部的親人很多次 罪過 其中最讓人糾結的一項即是 驗證碼。12306採用驗證碼,無疑是一種很不錯的措施,可以在一定程...