java中的CAPTCHA

我想尝试用Java开发一个安全的登录系统。 我应该如何使用Java实现CAPTCHA?

我用于Java的三个CAPTCHA库是:

  1. JCaptcha – 这是三者中最容易配置的,并且有很好的文档记录。 但无论如何,我们似乎无法让这看起来正确。 它还有音频和其他非传统的CAPTCHA
    JCaptcha示例http://jcaptcha.sourceforge.net/samples/SimpleListImageCaptchaEngineCaptcha_0.jpg
    http://jcaptcha.sourceforge.net/

  2. SimpleCaptcha – 这是可以合理配置的,并且有很好的文档记录。 我喜欢它的外观,但是有些人在阅读它时遇到了麻烦。
    SimpleCaptcha示例http://simplecaptcha.sourceforge.net/images/Captcha.jpg
    http://simplecaptcha.sourceforge.net/

  3. icaptcha – 这是非常糟糕的文档,但不应该太难以从示例中找出。 在我们的测试中,我们发现这比其他两个更具可读性(可能是好事还是坏事,取决于您的目标受众)
    icaptcha示例http://icaptcha.googlecode.com/files/2_img_test.jpg
    http://code.google.com/p/icaptcha/

我们的应用程序基于Spring MVC,并且很容易集成这些应用程序。

我们选择了最适合我们的(icaptcha)。

我知道这是一个老问题,但我想推荐凯奇 。

  • 开源,Apache v2许可,因此它也可以用于企业/专有项目
  • 支持maven(可从中央maven存储库获得)
  • 快(在测试电脑上3-5毫秒/图像)
  • small(一个小jar,没有外部依赖,只需要Java 1.5或更新版本)

验证码1captcha2

验证码3验证码4

SimpleCaptcha :SimpleCaptcha是用于为Java生成CAPTCHA图像/答案对的框架(J2EE,Grails,JavaFX等)

但我推荐reCaptcha

重复: 对javavalidation码库的建议

另一个具有Maven支持和工作Spring示例的validation码库: https : //github.com/axet/kaptcha