This plug-in adds encryption and encoding functions to FileMaker Pro. With Troi Encryptor plug-in you can make sure information can only be read by the persons you want. With this plug-in you can encrypt fields using the powerful 256-bit AES encryption scheme, so that your sensitive data is secure.
FileMaker Pro 14-17
FileMaker Server 14-17
macOS X 10.9 – 10.14
Secure your FileMaker data
Troi Encryptor Plug-in is a very powerful tool for securing your FileMaker data, exporting or emailing your data without risk and importing safely back into FileMaker. With the plug-in installed you can do all this from within FileMaker:
- encrypt text or container fields, using the powerful 256-bit AES encryption scheme, so that your sensitive data is secure
- export encrypted data that can be sent safely over internet, for example via email. No risk that someone will read or change the data while in transit
- use the decryption functions to restore the original information after you have imported the received email or export file back into FileMaker, with the assurance that nobody will have tampered with it
- verify data integrity and sources with MD5 or SHA-1 message digests
- encode text in e.g. Base64
- make conversions to and from binary
- compress databases with large text fields
AES-256 bit encryption and decryption
With the Encryptor Plug-in you can encrypt fields using the powerful AES encryption scheme, so that your sensitive data is secure. This function will produce text that looks like this:
<TROI_AES_STD_ENCR10> NVFJPSV9fX19fX19fXzMybiDY8PbHTmYWtbemlDAAibocn0S8Wh1lR9p28t8v3Fn6C1ScIykT rHrovm+qcmNpkKigVs/NgCn2WjgCDSUQ4iLW+Dmyf6rwR3dTRZPy+s28eQZzBf4NbZFcZEQo bkTsIQebVM8IQNPjGdSbAe+GNaCY4ai6eeYxC5RzNwKfZGPUtKoKRL/IIS3vTSeVJcefevm9 Fyh3eniVyMXmZCY+G2a+KlJDKBxlvKBPAKo3GsZUsC7A0U2+Xigl2q2dulmZYw1eLbk= </TROI_AES_STD_ENCR10>
So can you read this? =)
The Encr_EncryptAES function will use AES-256 bit encryption by default. This version stays compatible with older versions though, which used 128-bit encryption: you can still use the 128-bit encryption scheme, by using a switch.
The Encr_DecryptAES function will automatically detect if data previously encrypted with Troi Encryptor Plug-in is AES-128 or AES-256 and decrypt the text automatically. You don’t need to change the scripts or add any switches for this to work.
Exchange encrypted data with other systems
Troi Encryptor Plug-in has 3 functions that enable you to easily exchange AES-encrypted data with other systems. Externally AES-encrypted data can now be decrypted in FileMaker with Troi Encryptor Plug-in and vice versa!
We also added an ‘-OpenSSLCompatible’ switch to the plug-in’s EncryptAES and DecryptAES functions. This facilitates the exchange of encrypted data between the plug-in and the OpenSSL functions of PHP 7 or the openssl command in a command line interface (for example the macOS terminal). In the download we added an extensive example which demonstrates how to decrypt data generated with the plug-in’s EncryptAES function with the OpenSSL functions of PHP 7, and the other way round: how to decrypt data generated by the OpenSSL functions of PHP 7 with the plug-in’s DecryptAES function.
Generate passwords and safely store them in the keychain
The Encr_GeneratePassword function generates a strong, random password with a specified length. The plug-in allows you to store passwords in the keychain and retrieve and delete them later, all directly from FileMaker. When you save a password into the keychain, you specify the name of the account (or user) associated with it, and optionally an extra ID, which will help you distinguish between different passwords for the same account. As the keychain is unlocked when the user logs in to the operating system, the password can later be retrieved from it without the user needing to enter the (keychain) password. You can then use the retrieved password to decrypt text in a field, for example with the Encr_DecryptAES function. A third function allows you to delete previously stored passwords from the keychain.
Compress and decompress text
You can compress text using the ZLIB compression.
Send sensitive data via email
With the SafeAscii function you can create data that can be sent safely over internet, for example via email. It will convert fields that contain higher ASCII, into a format that contains lower ASCII only. For example the text: “•Günther and Børg” will be coded like this:
%Troi SafeAscii v1.0
%End SafeAscii v1.0
This can be decoded again, to recreate all the original higher ASCII characters. More importantly, if you use this function on encrypted text it will also be converted to a format that is safe to send over internet.
Export and import data without risk
The plug-in has a function ShortSafeAscii, which is a variant of the SafeAscii function. With this you can export any text field, including encrypted data, to an export file.
The plug-in has a generic code function, which makes it possible to encrypt a field with the key as the parameter in FileMaker. This opens up the possibility to decrypt without the need for a script.
- Make sure that confidential data stays confidential
- Share medical data over internet, including pictures
- Comply with HIPAA guidelines
- Verify the correctness of important text
- Compress large texts
Of course much more is possible. The best way to see if it can help you is to try it out!
Try Troi Encryptor Plug-in before you buy
You are free and invited to test the plug-in before you pay. Troi Encryptor Plug-in is fully functional in demo mode, it will only stop working after 2 hours of testing. Download your copy here.
Troi Encryptor Plug-in 5.0
Troi Encryptor Plug-in 5.0 is a major release which adds compatibility with FileMaker 17. New functionality added in this version is the possibility to decrypt text which was encrypted with OpenSSL using AES-256 encryption. We also added an extensive example which shows you how to exchange encrypted data between FileMaker and PHP OpenSSL and vice versa.
In this version we also added a new Encr_GeneratePassword function, which can generate a strong, random password with a specified length.
On macOS we prepared the plug-in for notarization: the plug-in can now be added to a runtime, to create a hardened FileMaker runtime app which can be notarized by Apple. Notarization gives users more confidence, as the runtime has been checked by Apple for malicious components.
See the Version history below for a complete list of changes in this and earlier versions.
Troi Encryptor Plug-in versions for FileMaker Pro 14 to 17
Version 5.0 (for FileMaker 14 to 17) (February 12, 2019)
- Tested and made compatible with FileMaker Pro 17.
- Added new Encr_GeneratePassword function, which can generate a strong, random password with a specified length. Also created the example file GeneratePassword.fmp12 to demonstrate all possibilities.
- Added PHP 7 encryption compatibility. You can now AES-256 encrypt text with the plug-in and and decrypt it with the OpenSSL functions of PHP 7. You can also decrypt text with the plug-in which was encrypted with the OpenSSL functions of PHP 7.
- Created new extensive example file OpenSSL.fmp12 which demonstrates how to encrypt and decrypt data for or from PHP 7.
- Added two php scripts for decryption and encryption in PHP 7. See the folder “Integration with PHP + websites”.
The script “php7-decrypt-from-encryptor-AES256.php” decrypts text which was encrypted with Troi Encryptor 5 for PHP 7.
The script “php7-encrypt-for-encryptor-AES256.php” encrypts text which can be decrypted with Troi Encryptor 5.
- Added new switch “-HashIterationCount=n” to the Encr_EncryptAES and Encr_DecryptAES functions so you can specify the hash iteration count used to generate the key and initialization vector.
- Improved command line interface compatibility of the Encr_DecryptAES function: you can now decrypt text created by the openssl command in a command line interface (for example the macOS terminal).
Use the switches “-OpenSSLCompatible -KeySize=256” for this.
Note that the decryption assumes the text was UTF-8 encoded. If you don’t want to decode as UTF-8 you can also add the switch “-DontInterpretAsUTF8”.
- The plug-in now indicates if an external script step is compatible with a product. The step is shown in grey if it is incompatible for that product (for example for iOS) in the script editing pane (center) and the script steps pane (right).
- (macOS) Prepared the plug-in for notarization: the plug-in can now be added to a runtime, to create a hardened FileMaker runtime app which can be notarized by Apple. Notarization gives users more confidence, as the runtime has been checked by Apple for malicious components.
- (Windows) Added code signing to the plug-in for Windows. (On macOS code signing was already added in version 4.0).
Other changes and improvements
- IMPORTANT (macOS only) The minimum supported FileMaker version is now FileMaker Pro 14. Also the minimum supported Mac OS version is now OS X 10.9 (Mavericks). You can keep using v4.x (currently v4.0.1) for older versions of FileMaker Pro or Mac OS X.
- (macOS) The plug-in no longer has the 32-bit code included.
- Renamed the function Encr_EncryptRijndaelAES to Encr_EncryptAES.
- Renamed the function Encr_DecryptRijndaelAES to Encr_DecryptAES.
- Improved the 64-bit compatibility of the plug-in.
- Fixed a bug in the Encr_EncryptAES function with the (previously hidden) switch -OpenSSLCompatible, where in some cases the error code $$-50 would be returned.
- Updated the EasyInstallTroiPlugins.fmp12 file, it can now run a test registration script for a plug-in after you have installed it on FileMaker Server.
- Updated the user guide: clarified the format of TROI_AES the plug-in generates and added a section about exchanging data with OpenSSL.
- Updated the example files for FileMaker Pro Advanced 17.
Troi Encryptor Plug-in versions for FileMaker Pro 12 to 16
Version 4.0.1 (for FileMaker 12 to 16) (February 1, 2019)
- (macOS) Fixed a compilation problem with code signing and extended attributes in macOS 10.12 (Sierra) and later.
- Improved and updated the registration of the plug-in.
Version 4.0 (for FileMaker 12 to 16) (August 15, 2017)
- Tested and made compatible with FileMaker Pro 16.
- Fixed several bugs, rewrote and modernized the code in several places and made further improvements.
- Updated the User Guide and the Reference.fmp12 file.
- Made various minor changes to the example files to better work with FileMaker Pro 16.
- Updated the code by adding improved namespace handling to make the plug-in more robust.
Extra features when running FileMaker Pro 16
- The Encryptor Plug-in adds multiple script steps when running FileMaker Pro 16.
You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears.
The script steps expand the possible actions you can perform with FileMaker Pro. The following 3 script steps are added:
NOTE Only steps that perform an action have been added as a script step. Functions that just manipulate data and have no side effect (like for example Encr_EncryptRijndaelAES) are only available as an external function.
- Added new scripts to the EncryptAES.fmp12 example file, which demonstrate how to use the new external script steps of FileMaker Pro 16. The examples check if FileMaker Pro 16 is running and will select these new scripts.
- Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane.
Troi Encryptor Plug-in versions for FileMaker Pro 12 to 15
Version 3.5 (for FileMaker 12, 13, 14 and 15) (July 5, 2016)
- Tested and made compatible with FileMaker Pro 15.
- Added three new keychain functions, to help you store passwords:
- Encr_SavePasswordToKeychain, which saves a password into the keychain (for an account or your ID).
- Encr_GetPasswordFromKeychain, which retrieves a password from the keychain (for an account or your ID).
- Encr_DeletePasswordFromKeychain, which deletes a password from the keychain.
- Added description and type-ahead information for all functions of the plug-in. This extra function description will be shown in FileMaker Pro 15 in the Specify Calculation dialog box when you type a function name and also as a text popup in the functions pane on the right.
The type-ahead information is used by the auto complete functionality of FileMaker Pro 15. In the calculation pane of the Specify Calculation dialog box you can type a letter or two of the function name and instantly see a list of matching function names. For example when you type “aes”, the auto complete functionality will suggest the Encr_AES_EncryptUsingKey function. You can also type a function name in the functions pane on the right: for example if you type “Encry” you will see all the functions with Encrypt in the name, like Actr_EncryptRijndaelAES.
- Improved the multi-threading behavior of the plug-in when running in FileMaker Pro 15.
- Improved the example file EasyInstallTroiPlugins.fmp12, to provide more help when an installation error occurs.
- Fixed several bugs, rewrote and modernized the code in several places and made further improvements.
- Updated the User Guide and the Overview.fmp12 file.
Troi Encryptor Plug-in versions for FileMaker Pro 12 to 14
Version 3.0.1 (for FileMaker 12, 13 and 14) (March 22nd, 2016)
- Tested and made compatible with Windows 10 and OS X 10.11 (El Capitan).
- Fixed a bug in the Encr_MakeDigest function which was introduced in version 3.0: when creating a MD5 digest an incorrect digest would be returned for texts bigger than 32000 characters.
- Added a switch “-DigestCompatibleWithv30” to the Encr_MakeDigest function, to be able to generate the same (incorrect) digests of v3.0. Note that the result only differs for digests of text bigger than 32000 characters and created with the 3.0 version of the plug-in.
- Improved several example files.
Version 3.0 (for FileMaker 12, 13 and 14) (June 5th, 2015)
- Tested and made compatible with FileMaker Pro 12, 13 and 14.
- Added support for 64-bit architecture with FileMaker Pro 14: on OS X the 32-bit and 64-bit version is a single universal plug-in and on Windows there are 2 plug-ins: Troi_Encryptor.fmx (for 32-bit) and Troi_Encryptor.fmx64 (for 64-bit).
- Added the example file EasyInstallTroiPlugins.fmp12, with support for the 64-bit version of FileMaker Pro 14.
- Tested with OS X 10.9 Mavericks, OS X 10.10 Yosemite and Windows 8.x.
- Added AES-256 bit encryption: The function Encr_EncryptRijndaelAES() will now use AES-256 bit encryption by default.
- Added a switch to the Encr_EncryptRijndaelAES function: “-KeySize=128”, which will generate AES-128 bit encryption.
- Improved the Encr_DecryptRijndael function: for Troi AES encrypted text, it will automatically detect if it is AES-128 or AES-256 and decrypt the text. You don’t need to change the scripts or add any switches for this to work.
- Added 3 new functions to the plug-in, to be able to easily exchange AES-Encrypted data with other systems (like for example PHP-mcrypt):
- Encr_AES_CreateKeyAndIV: creates an encryption key and initialization vector, which can be used for the AES encryption or decryption.
- Encr_AES_EncryptUsingKey: encrypts the data using the AES-128 or AES-256 algorithm using the encryption key and initialization vector.
- Encr_AES_DecryptUsingKey: decrypts the data using the AES-128 or AES-256 algorithm with the encryption key and initialization vector.
- Added PHP mcrypt script which demonstrates how to decrypt data generated with the EncryptAES.fmp12 example file in PHP.
- Troi Encryptor Plug-in is now compatible to run under FileMaker Server! The plug-in creates log files when running under FileMaker Server to make troubleshooting easier and to provide feedback regarding errors and registration status.
Note that you need a special Server/WebEngine license to use this plug-in on FileMaker Server. See our web site for details.
- Added new Encr_VersionAutoUpdate function. The Encr_VersionAutoUpdate function is part of a standard for FileMaker plug-ins of third party vendors of plug-ins. The version number is returned in the format aabbccdd where every letter represents a digit of the level, so versions can be easily compared.
- Fixed a bug in the Encr_DecodeBase64 function, where ASCII character 240 (Apple logo) and ASCII character 189 (Omega) would not be added to the result.
- Updated information regarding MD5 hash and collisions/uniqueness. Now recommends the use of SHA-1 when more security is needed.
- Added new switch -GetRegistrationState to the Encr_Version function: this switch allows you to check if the plug-in is currently registered.
- Added new switch “-GetPluginInstallPath” to the Encr_Version function: this switch will return the path where the plug-in is installed, for example “/Mac HD/Users/User Name/Library/Application Support/FileMaker/FileMaker Pro/14.0/Extensions/Troi_Encryptor.fmplugin”.
- Added new switch to Encr_Version: -UnregisterPlugin. This will remove the registration data. The plug-in will be in the unregistered state after this.
- Several bug fixes and further improvements.
- Made various changes to several example files.
Older release notes
For older release notes please see here, including the release note for Troi Coding Plug-in, the original name of Troi Encryptor Plug-in.
We offer the following licenses for Troi Encryptor Plug-in:
single user, 10-user and 25-user license: these are meant for using the plug-in client-side, on FileMaker Pro and FileMaker Pro Advanced, including with files hosted by FileMaker Server. You need a license for every user that makes calls to the plug-in’s functions.
developer license: this license is meant for FileMaker solution developers, who want to include the plug-in with their solution(s) and distribute it to their end-users. Each of your end-users may use the plug-in with up to 25 users (contact us if any of your customers has more than 25 users). The number of organizations you distribute the plug-in to and the number of solutions you distribute it with are not limited. Works on FileMaker Pro and FileMaker Pro Advanced, including with files hosted by FileMaker Server.
Go to the developer license page for more info.
server/web license: this license registers the plug-in for use on FileMaker Server and FileMaker Server Advanced. You only need this license if you want to use the plug-in in server-side scripts and in web published databases. It has no user limit.
Go to the server-side plug-ins page for more info.
All licenses work both on macOS and on Windows.
|single user license||US $ 79 per user|
|10-user license||US $ 329|
|25-user license||US $ 539|
|developer license||US $ 539|
|server/web license||US $ 399|
If you have a license for a previous version, you can buy an upgrade for version 5.0. If you bought a license on or after August 15, 2017, the upgrade to version 5.0 is FREE! Note: eligible users have been sent a new 5.0 registration. Contact us if you have not received yours.
If you bought a license before August 15, 2017, you will need to buy an upgrade to use the 5.0 version:
|single user license upgrade||US $ 49 per user|
|10-user license upgrade||US $ 169|
|25-user license upgrade||US $ 299|
|developer license upgrade||US $ 299|
|server/web license upgrade||US $ 199|
Below are a few things our users had to say about Troi Encryptor Plug-in:
“Thank you for developing such a good software, I´m very happy to use your Filemaker plug-ins which are 100% error free….. at least for me, Thanks again.”
We are still collecting more comments. If you have any remarks on the Encryptor Plug-in please send us your comments. Thanks!
Secure your FileMaker data!