Java - aes hash remix

Remixed commit fbf4e09bb9074193f0e8e0b6e1a1a5b38c7f4e4b in to 3 functional commits