重构密码操作类

* 调整了基类实现, 消除子类的重复代码
* 让 Hash 对象有了字符串表现形式, 方便序列化
忽略真正的项目配置文件供自由定制
Merge branch 'auth'