Correctly calculate the HMBKP_SECURE_KEY

- Use the constant values instead of names when calculating HMBKP_SECURE_KEY
- Shuffle the array before passing to md5 as shuffle returns true rather than the shuffled array
- serialise the array before passing to md5.

Fixes #289