Some language choices since you said 'any language':
- C# - Has AES encryption built into the .NET framework, all the options for proper config are there for things such as the mode and padding sizes etc.
-- https://msdn.microsoft.com/en-us/librar ... l(v=vs.110
-- https://msdn.microsoft.com/en-us/librar ... d(v=vs.110
- C/C++ - There are thousands of implementations of AES around the web. The more common practice in major end products would be to use OpenSSL. If you are unsure how to use it or are not interested in large dependencies like it, you can find any slim AES implementation though.
(I've personally used this one in some of my projects, works great.)
- Java - Not my preference in languages but there are implementations for it as well all over the web, such as:
-- https://docs.oracle.com/javase/7/docs/a ... ipher.html
(Built into the Java namespaces.)
- PHP - If you are looking for web related implementations:
-- You can implement the OpenSSL plugin for php: http://php.net/manual/en/book.openssl.php
-- You can implement via the mcrypt_encrypt/mcrypt_decrypt functions on older php versions: http://php.net/manual/en/function.mcrypt-encrypt.php
- NodeJS - For more modern web usage:
-- Built into NodeJS: https://nodejs.org/api/crypto.html
And so on. Easily found tons more with Google. There are plenty of implementations of this around the web.
If you want to see how QuickBMS does it, you can download the source code of it here: http://aluigi.altervista.org/papers/quickbms_src.zip
(It uses OpenSSL mainly in a lot of instances at first glance.)