本文所使用的驗證碼識別的方法很是暴力,高手可忽略。對於在客戶端實現的「僞驗證碼」或使用靜態圖片的驗證碼,本文不做討論。對於驗證碼的識別,一直覺得,只要足夠的樣本,就能夠分析出驗證碼的特徵,從而進行分門別類,再經過和樣本作比較,就能夠得出正確驗證碼。這裏簡單而暴力的驗證一下這個一直想驗證而沒有行動過的想法。作實驗的網站是某體檢機構,由於它生成的驗證碼頗有規律(不肯定是否是靜態文件,但就能夠當成是算法隨機生成的),每一個字符的位置相對固定,雖然每一個字符的顏色和背景都不同,可是背景顏色很相近,沒有干擾線,更重要的是,它和中國不少不少網站的驗證碼很相似。相關代碼和文件(某體檢機構網站忽略):verification code identified。
暴力步驟:python
85%左右的正確率,暴力破解其實也能夠了,改進下有可能達到90%以上。驗證碼是網絡的一道屏障,破解了驗證碼後,不少邪惡的事情均可以作。固然這裏介紹的是最笨的方法,對於複雜的驗證碼還不能識別,還須要更復雜點的方法。本文僅是圖片識別技術的討論,相關的代碼等僅用於學習,不得用於作非法事情。
POST AT: http://luoguochun.cngit