Java中的验证码

14

我想尝试用Java开发一个安全的登录系统。如何使用Java实现验证码功能?


你想要什么类型的验证码系统?文字识别;图像识别;还是其他什么?如果你通常知道如何编写Java Web应用程序,我认为在服务器端没有什么特别具有挑战性的事情要做。你不确定哪个方面呢? - Nick
4个回答

10
我用过的三个Java验证码库是:
  1. JCaptcha - 这是三个库中可配置性最高、文档写得相当好的一个。但无论怎么调整,我们似乎都无法让其看起来完美,它也包含音频和其他非传统的验证码。
    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)。

2
JCaptcha几乎已经死亡 - 它在Java 8上无法工作。 - Eren Yilmaz

8

我知道这是一个老问题,但我想推荐 Cage

  • 开源的,采用Apache v2许可证,因此也可以在企业/专有项目中使用
  • 支持maven(从中央maven仓库可获取)
  • 速度快(在测试电脑上每个图像只需3-5毫秒)
  • 小巧(只有一个小型jar,没有外部依赖项,只需要Java 1.5或更新版本)

captcha 1 captcha2

captcha 3 captcha 4


7

0

1
已移至 https://gitlab.com/axet/kaptcha - Evan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接