Refactored to separate the gathering of data from the hash generation. This allowed a method to gather the fingerprint data as a JSON object to be introduced.