When adding an SNMPv3 user to an IOS router, you can specify "either a plain-text password or a localized message digest 5 (MD5) digest". Here's an example of a command that uses a digest:
Router(config)# snmp-server user abcd public v3 encrypted auth md5 00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF
(this example is from Cisco documentation)
My question is - how can you generate the MD5 hash (assuming you know the password and the engineID)?