* Update account authentication to use BCrypt.
This updates account authentication to use the BCrypt hashing algorithm in place of SHA512 and the need for a separate password salt.
Bcrypt is also more secure since it uses a "Work Factor" to discourage password brute force attacks and the implementaition is much cleaner overall since the salt is randomly generated and added as part of the password hash itself, effectively protecting against rainbow table attacks.
The default WorkFactor is set to 10 which is the considered the current industry standard. A server owner can easily increase this value to whatever level of security they desire which in turn will make password verification slower and much harder to crack if ever brute forced by a hacker.
Furthermore, BCrypt is used in PHP's passwordHash() function so this change will open up some more account management possibilities through PHP registration scripts, especially CMS's and database bridging.
* Update AuthDbContext.cs
* Add Update script for Auth database
* Update Account / AuthDb for in-place migrations
* Fix a whitespace error
* Add 'passwd' and 'set-accountpassword' commands
* Update changelog
* Update AuthenticationBase.sql
Revert Auth Base to previous commit
* Update changelog.md
* Remove API and SecureAuth
* Fix up some issues
* might need to rem this
* more clean up
* hmm
* Cleanup
* busted test
* remove debug code
* Add a few tests to simple verify AuthDB can create accounts and change accesslevel
* update test for security purpose
* more cleanup
* and more
* Remove leftover usermodified
* Update changelog.md
* Kill Random weenie search for now
* Update EmoteCategory, EmoteType and SpellType enums
* Add CombatStyle enum
* Rebase SQL scripts
* Change uint to int in SQL
* Adjust SpellType
* Changed all PropertyInt properties from uint to int
* Some CombatStance work + StyleCop clean up
* Update README
* Updated ACE-World requirement and appveyor
* WIP
* WIP - MVC app for weenie editor with auth overhaul in place
* removed redundant project
* more WIP. commiting to rebase
* WIP. API works, auth partially tied in, swagger works, api host works
* moved auth to a post with a body instead of get
* WIP. auth fully works. swagger UI supports auth model.
* added easier auth attribute, updated existing methods for consistency. should PR this after a couple more hours
* stylecop cleanups
* WIP. commiting to get help with session and connection issues
* forgot to save some changes to a sql script
* got all the login issues squared away. new auth system is done.
* WIP. getting an out of memory exception i cant track down
* WIP. PacketInboundLoginRequets reads the JwtToken with 2 bonus (invalid) prepended characters
* updated ReadString32L to suck a little less. i dont think this is 100% correct though.
* Authentication overhaul complete, APIs begun to support content editing
* appveyor cleanup
* appveyor cleanup, take 2
* appveyor cleanup, take 3
* appveyor cleanup, take 4
* Rename 2017-10-20-auth-overhaul.sql to 2017-10-20-00-auth-overhaul.sql
* Rename 2017-10-20-auth-overhaul-shard.sql to 2017-10-20-00-auth-overhaul-shard.sql
* Rename 2017-10-20-auth-overhaul-world.sql to 2017-10-20-00-auth-overhaul-world.sql
* Update MySqlInstall.bat