文字點擊驗證碼
我們在登錄或者其他有隱私的操作情況下,往往會輸入驗證碼的情況,你還在用123456789abcd做循環輸出?
這太撈了,今天我分享一個文字點擊驗證碼的實現。
先看看生成效果圖,有沒有達到你想要的程度。
採用的主要方式是運用BufferedImage來繪製圖片和文字。
直接上代碼吧:由於某些原因不能上代碼,只能發圖片,請諒解,圖片是從頭到尾整個類的。
一、生成驗證碼
首先新建code.java類,配置一些基本屬性
通過配置文件自動注入:
最後一行
public String getRandomStringZh(int num){
return String.valueOf(randZhString.charAt(num));
}
二、校驗驗證碼
校驗驗證碼可以通過filter過濾需要驗證碼的url,也可以通過攔截器
@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter
來實現。因爲在生成驗證碼的時候,我們將初始化的座標存在了session裏面,所以在攔截校驗的時候,url應該攜帶前段點擊的座標,然後從session裏面取到初始座標來進行對比,對比成功則放行,否則return。
注意: 取座標的時候,算的是點擊的位置和整個驗證碼圖片的百分比,不是座標,url傳的參數也是百分比。
下面是攔截器裏面的主要邏輯,filter校驗邏輯一樣,只是放行方式不一樣,filter需要配置路徑。
以上就是圖片點擊驗證碼的簡單實現了,有問題的請指出,歡迎下面評論。