如何利用html5canvas破解簡(jiǎn)單驗(yàn)證碼-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“如何利用html5 canvas破解簡(jiǎn)單驗(yàn)證碼”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何利用html5 canvas破解簡(jiǎn)單驗(yàn)證碼”吧!

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供渭源網(wǎng)站建設(shè)、渭源做網(wǎng)站、渭源網(wǎng)站設(shè)計(jì)、渭源網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、渭源企業(yè)網(wǎng)站模板建站服務(wù),10多年渭源做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

代碼如下:


var ctx = canvas.getContext('2d');
ctx.drawImage(img,0,0);
var c = ctx.getImageData(0,0,img.width,img.height);
for(i=0; i<c.height; i++){
for(j=0; j<c.width; j++){
var x = (i*4)*c.width+(j*4);
var r = c.data[x];
var g = c.data[x+1];
var b = c.data[x+2];
if(r+g+b > 350){
c.data[x] = c.data[x+1] = c.data[x+2] = 0;
}
else{
c.data[x] = c.data[x+1] = c.data[x+2] = 255;
}
}
}  



然后我用畫圖工具放大圖片,觀察了一下,得出每個(gè)數(shù)字是一個(gè)12*8像素的矩形,再之后就求出每一個(gè)數(shù)字對(duì)應(yīng)的像素個(gè)數(shù),發(fā)現(xiàn)0和8還有6和9的像素個(gè)數(shù)是一樣的,就進(jìn)行一下特判(比如正中間有像素的就肯定是8而不是0了)。然后&hellip;&hellip;還是觀察一下&hellip;&hellip;每個(gè)數(shù)字對(duì)應(yīng)的矩陣的坐標(biāo)&hellip;&hellip;寫出這個(gè)函數(shù):



代碼如下:


function getNum(imgData,x1,y1,x2,y2){
var num = 0;
for(i=y1; i<y2; i++){
for(j=x1; j<x2; j++){
var x = (i*4)*imgData.width+(j*4);
if(imgData.data[x] == 255)num++;
}
}
switch(num)
{
case 56:{
j = (x1+x2)/2;
i = (y1+y2)/2;
var x = (i*4)*imgData.width+(j*4);
if(imgData.data[x] == 255)
return 8;
else
return 0;
}
case 30:return 1;
case 50:return 2;
case 51:return 3;
case 48:return 4;
case 57:return 5;
case 58:{
i = y2-2;
j = x1;
var x = (i*4)*imgData.width+(j*4);
if(imgData.data[x] == 255)
return 9;
else
return 6;
}
case 37:return 7;
default:return 0;
}
}



原文用了神經(jīng)網(wǎng)絡(luò)來判斷,準(zhǔn)確率大大提高,我不會(huì)用,所以就沒用了&hellip;&hellip;
我用這個(gè)方法獲得的驗(yàn)證碼準(zhǔn)確率也有95%以上,暫時(shí)夠用了。有空再研究一下神經(jīng)網(wǎng)絡(luò)好了。
有需要的同學(xué)可以拿去用,Chrome瀏覽器要先裝TamperMonkey,F(xiàn)irefox則是GeaseMonkey,然后安裝這個(gè)腳本就ok了。

到此,相信大家對(duì)“如何利用html5 canvas破解簡(jiǎn)單驗(yàn)證碼”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞名稱:如何利用html5canvas破解簡(jiǎn)單驗(yàn)證碼-創(chuàng)新互聯(lián)
瀏覽地址:http://muchs.cn/article34/dsphpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、外貿(mào)建站、網(wǎng)站設(shè)計(jì)微信小程序、電子商務(wù)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)