MD5 encryption in Navision

Message-Digest algorithm 5 (MD5) encryption is a widely used cryptographic hash function. It is often used to encrypt passwords.

Notice – this is a one way only encryption method.

So why use it? Well if your password is stored into a database (server) it will be sent across the network. With no decryption, you password will be sent as plain text, which means everyone that can “sniff” will be able to catch it and the afterwards use it. With MD5 encryption it will still be possible to catch it, but it will not be usable for the “sniffer” because of the encryption.

In Navision it is possible to use MD5 encryption with help of the automation Navision Attain Hash 1.0. Here you will find a HashCalculator.

Example on creating your own hash:

HashString := Hash.CalculateMD5(Password);

Where Hash is the automation ‘Navision Attain Hash 1.0’.HashCalculator

It’s quite simple 🙂

If you can’t find the automation, you need to register it. You will find the dll in the navision client directory and it is called NATHash.dll – just register it with the regsvr32 command.


  1. It is also useful to be able to store the hashed passwords in the database itself. This way not only does the “system”, or anyone able to access it, not know what the password is, but the passwords used to login are tested “just-in-time” and then vanish. That’s nice because you can’t login with just the hashcode and you can’t find the source of the hash from the hash itself since it is not an encoding, it is just a mapping from a big number space to a smaller number space – a destructive mapping. Still, it is possible to create a hash dictionary of “easy” passwords and then compare them to the known hash value for a match.

Leave a Reply

Your email address will not be published.


This site uses Akismet to reduce spam. Learn how your comment data is processed.