验证码几乎是所有软件项目不可或缺的一块逻辑。验证码实现方式也是多种多样。
- 图片数字,字母验证码
- 邮件验证码
- 短信验证码
- 图片滑块验证码
- 图片物品辨认验证码
- 图片汉字排序验证码
除了以上这些常见的验证码之外,还有IM消息验证码、动态身份验证器验证码等。今天分享一些验证码不错的项目。
0x01:图片数字,字母验证码
谷歌开源的一个验证码jar包Kaptcha,依赖如下
<!-- google kaptcha验证码 -->
<dependency>
<groupId>com.google.code</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.0</version>
</dependency>
Kaptcha封装的一个springboot-starter
https://github.com/oopsguy/kaptcha-spring-boot
java项目:https://gitee.com/ramostear/Happy-Captcha
java项目:https://gitee.com/ele-admin/EasyCaptcha
附
PHP项目:https://gitee.com/reevy/ImageVerifyCode
0x02:图片滑块验证码
java项目 https://gitee.com/tianai/tianai-captcha
java项目:https://gitee.com/LongbowEnterprise/SliderCaptcha
0x03:图片汉字排序验证码
https://gitee.com/anji-plus/captcha
AJ-Captcha行为验证码,包含滑动拼图、文字点选两种方式,UI支持弹出和嵌入两种方式。后端提供Java实现,前端提供了php、angular、html、vue、uni-app、flutter、android、ios等代码示例。
0x04:其他验证码
- 邮件验证码:通过邮箱接收验证码,然后进行验证
- 短信验证码:通过运营商发送短信验证码,手机接收验证码,然后进行验证
- IM消息验证码:通过微信、或者自由IM App接收验证码。然后进行验证
- 动态身份验证器验证码:通过身份验证APP,或者叫做动态令牌APP生成验证码,然后进行验证
以上这些验证码一般是产生数字验证码、字母验证码或者字母和数字混合验证码。