1. change the architecture to externalize keys and hmac algorithms in
config file
2. add header update package to handle different hmac algorithms in
different applications.