学习Hadoop有一段时间了,期间写过很多Demo,都是针对单个知识点做的验证,今天写个完整的应用程序——基于Hadoop的密码安全级别验证。
在很多网站上注册用户时输入密码都会在下方提示密码安全级别。如下图所示:
一般通过算法得出密码安全等级,但是公认的最不安全密码 passw0rd! 也会被认为安全程度强。
我想起若干年前的某论坛密码泄露事件,于是从网上找到了当年的数据(全是文本文件,每行一条记录,正好可以用Hadoop处理),开始着手开发此程序。
程序分成三部分:
- Hadoop集群分析每个密码使用次数并将结果以<密码,次数>形式存入hbase数据库。
- Java WebService 对外提供查询密码使用次数接口,入参为密码字符串,出参为次数。该接口调用hbase API从上边的hbase库查询出次数并返回。
- 网页上调用Java WebService 接口获取用户所输入密码使用次数,根据自定义的规则显示密码安全等级。
程序流程大致如下:
程序部分代码已上传GitHub。
https://github.com/dipwater/HadoopProject/tree/master/PasswordCheck