Title: Cryptex | E-Mail Address Protection
Author: Andi Dittrich
Published: <strong>ఏప్రిల్ 23, 2011</strong>
Last modified: ఏప్రిల్ 1, 2020

---

Search plugins

![](https://ps.w.org/cryptex/assets/banner-772x250.png?rev=1166297)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/cryptex/assets/icon-256x256.png?rev=1631787)

# Cryptex | E-Mail Address Protection

 By [Andi Dittrich](https://profiles.wordpress.org/andi-dittrich/)

[Download](https://downloads.wordpress.org/plugin/cryptex.7.1.zip)

 * [Details](https://te.wordpress.org/plugins/cryptex/#description)
 * [Reviews](https://te.wordpress.org/plugins/cryptex/#reviews)
 *  [Installation](https://te.wordpress.org/plugins/cryptex/#installation)
 * [Development](https://te.wordpress.org/plugins/cryptex/#developers)

 [Support](https://wordpress.org/support/plugin/cryptex/)

## Description

**NOTE: this plugin is targeted to advanced users and professionals – it requires
some configuration tasks and won’t work out-of-the-box!**

The plugin is used to display Email addresses **as an image** – automatically.
 
This will stop harvesters and crawlers from gathering sensitive data from your website.
It works with emails, telephone numbers, postal addresses or any other text-content.
Just wrap your E-Mail-Address into a shortcode like `[email]youraddress@example.
com[/email]` – that’s it. Or use the **Autodetect** filter to transform every E-
Mail-Address on your page automatically into an image!

#### Plugin Features

 * Protects **Email Adresses**, **Telephone Numbers** or any other content
 * Fully customizable appearance: you can configure font-family, font-size and font-
   color – everything looks like your theme style
 * **Retina/HD/High-Dpi Images** – best appearance on all devices (2x, 3x or 4x 
   resolution enhancement)
 * Shortcode and/or Autodetection usage!
 * Build-In **E-Mail-Address-Autodetection** – all addresses on your page are protected
   automatically (if you want it – you can also just use shortcodes!)
 * Autodetection filters configurable for **the_content**, **the_excerpt**, **comments**,**
   comments_excerpt**, **text-widget**
 * Reversible Address-Autodetection Process – your content is modified as long as
   the plugin is activated
 * Postal-addresses, telephone-numbers, names and other sensitive information`s 
   can be protected too
 * Protects E-Mail hyperlinks (mailto) by using javascript based **key-shifting 
   encryption/decryption** with dynamic keys – but you can use images only
 * Suitable for high traffic sites – automated caching of dynamic generated images
   and CSS
 * Automatic font-search (standard system font-paths)
 * Supports the new modern UI style of WordPress 3.8
 * Native support for [Enlighter Syntax Highlighter](https://wordpress.org/plugins/enlighter/)
   to display E-Mail Addresses within highlighted content (requires Enlighter v2.7)
 * Includes the [Liberation(tm) Fonts](https://fedorahosted.org/liberation-fonts/)
   package
 * TrueType as well as OpenType Fonts are supported

#### Text-Transformations

The @-sign as well as dot’s within the e-mail-addresses can be automatically replaced
by different placeholders, e.g. `mail(at)example{dot}org`, to match your website’s
corporate design.

#### Security Modes

Cryptex provides various obfuscation modes for E-Mail-Addresses:

 * Plain Text – only text-transformations are applied – no use of images
 * Single Image – the e-mail-address is expressed as a single image
 * Multipart Image – the e-mail-address is splitted into two images, seperated by
   the @-sign in plain text
 * Advanced Multipart Image – the craziest one: each part (divided by dot’s and 
   @ sign) is displayed as a seperate image, the dividers as plain text

## Screenshots

 * [[
 * Cryptex Website Appearance
 * [[
 * Settings Page – Contextual Help Menu
 * [[
 * Settings Page – Appearance
 * [[
 * Settings Page – Autodetect Filters & CDN Options
 * [[
 * Settings Page – System Informations
 * [[
 * Settings Page – Image Offsets & Retina/HighDpi Options

## Installation

#### System requirements

 * PHP 5.4 or greater
 * GD library (v2.0.28 or greater)
 * GD PNG support
 * FreeType2 (optional, required for OpenType fonts)
 * Accessible cache directory (`/wp-content/plugins/cryptex/cache/` or a custom 
   one)

#### WordPress Theme requirements

 * The `wp_footer` and `wp_head` action have to be used (enqueue js+css resources)

#### Installation

 1. Upload the complete `cryptex` folder (WordPress Plugin) to the `/wp-content/plugins/`
    directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Go to Settings -> Cryptex and check all items into the sidebar.
 4. In case that there are no font available on your server you can use own/special
    fonts by uploading them into the `/wp-content/plugins/cryptex/fonts/` directory
 5. Go to the appearance section and select the _font-family_, _font-color_ and _font-
    size_ like the styles in your theme
 6. That’s it! You’re done. You can now enter the following code into a post or page
    to protect email addresses: [email]youraddress@example.com[/email]. Or use the 
    Autodetect feature

## FAQ

  Cryptex Shortcode doesn’t work in Text-Widgets

Generally, WordPress does not process any shortcodes used in text-widgets. You can
add the following code to your template `functions.php` file to enable shortcode
processing: `add_filter('widget_text', 'do_shortcode');`

  I get an error using the system font paths, which are shown by the settings page

This paths – depending on your hosting environment – can be different – if you don’t
know the path, please ask your hosting provider or upload the fonts manually into
the cryptex-plugin-directory `\wp-content\plugins\cryptex\fonts\` and use **Plugin
Directory** as font source.

  I get a “file permission” error changing the font source to **Custom Directoy**

During security restrictions your system font paths could be unaccessable. In this
case you have to upload TrueTypeFonts (.ttf) into the cryptex-plugin-directory `\
wp-content\plugins\cryptex\fonts\` and use **Plugin Directory** as font source.

  I get an “file permission” php error in my blog

The directory `/wp-content/plugins/cryptex/cache/` must be writeable – the images
as well as the generated css file will be stored there. Try to set chmod to `0644`
or `0770`

  I need bold/italic font styles

Please use the italic/bold font of the font family you’ve selected. For example 
there is an verdana.ttf(normal) and verdanai.ttf(italic) file!

  Is it possible to use Cryptex directly in my wordpress template ? shortcode does
not work yet

Of course! you can simply use `<?php Cryptex::crypt('yourtext'); ?>` to display ‘
yourtext’ as crypted version

  I miss some features / I found a bug

Send an email to Andi Dittrich (andi _D0T dittrich At a3non .dOT org) or or open
a [New Issue on GitHub](https://github.com/AndiDittrich/WordPress.Cryptex/issues)

## Reviews

![](https://secure.gravatar.com/avatar/3261354ae2f56e3e735b0a15b987268d73f39e052ffd2fa431f74918d9d307dd?
s=60&d=retro&r=g)

### 󠀁[Flexible and good](https://wordpress.org/support/topic/flexible-and-good-2/)󠁿

 [dazono](https://profiles.wordpress.org/dazono/) ఆగస్ట్ 25, 2018

This is a fairly good and not too complicated plug-in which does a good job at scrambling
e-mail addresses automatically on WP sites. Load the fonts you use and it can be
fine-tuned to blend very well into the website. It may require a bit of work to 
fine-tune it to perfection, but it is well worth the efforts. This is not the plug-
in for those who just wants something which works without any efforts. But the scrambling
it does is well worth the effort.

![](https://secure.gravatar.com/avatar/5f0121d6f071bdc991e1ab2e993c2f04d8803f4e49081dfa04d394ea69c404b3?
s=60&d=retro&r=g)

### 󠀁[Very bad plugin that does not work properly](https://wordpress.org/support/topic/very-bad-plugin-that-does-not-work-properly/)󠁿

 [floriande](https://profiles.wordpress.org/floriande/) మే 28, 2018 2 replies

It causes exceptions, the formatting of the image looks very bad and it cannot be
used on a professional website. Forget this plugin!

 [ Read all 5 reviews ](https://wordpress.org/support/plugin/cryptex/reviews/)

## Contributors & Developers

“Cryptex | E-Mail Address Protection” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Andi Dittrich ](https://profiles.wordpress.org/andi-dittrich/)
 *   [ Aenon Dynamics ](https://profiles.wordpress.org/aenondynamics/)

[Translate “Cryptex | E-Mail Address Protection” into your language.](https://translate.wordpress.org/projects/wp-plugins/cryptex)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/cryptex/), check out
the [SVN repository](https://plugins.svn.wordpress.org/cryptex/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/cryptex/) by [RSS](https://plugins.trac.wordpress.org/log/cryptex/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 7.1

 * Added: Full `srcset` highdpi support (all images generated in the required resolution)
 * Added: Number of cached files to the settings page
 * Added: about-page inlcuding html changelog
 * Added: redirect to about-page on plugin activation/upgrade
 * Added: debug tab to the about-page containing the full plugin configuration
 * Changed: replaced dedicated colorpicker by build-in WordPress [iris](http://automattic.github.io/Iris/)
   picker
 * Changed: plugin settings splitted into multiple pages
 * Changed: image dimensions of high resolution images are not cached anymore (performance)
 * Changed: HTML5 srcset based HDPI renderer is set as prefered option
 * Changed: moved plugin files into `modules/` directory as required by `wp-skltn`
 * Changed: set default line-height to 20px instead of auto
 * Changed: set default padding to 4px
 * Changed: `wp-skltn` library updated to **0.17.0** – MPL 2.0 License
 * Bugfix: added `width` attribute to html-srcset highdpi images (causes invalid
   dimension on iOS devices)

#### 7.0

**License changed to GNU GENERAL PUBLIC LICENSE Version 2 (GPL-2.0)**

 * Added: option to disable generic `cryptex` shortcode
 * Added: cryptex icon batch to settings page
 * Added: docker based development mode
 * Changed: moved settings page to top-level menu
 * Changed: new settings page
 * Changed: `wp-skltn` library updated to **0.13.0** – MPL 2.0 License
 * Changed: sessionStorage is used to store the current active tab instead of cookies
 * Changed: updated the UI components
 * Changed; email/telephone shortcodes are enabled by default
 * Changed: 3rd party plugin support (placeholders) are disabled by default
 * Removed: `jquery-cookie` dependency
 * Bugfix: telephone/email shortcodes caused a php warning in case no attributes
   were set – thanks to [jotazzu on GitHub](https://github.com/AndiDittrich/WordPress.Cryptex/issues/4)
 * Bugfix: colorpicker sets wrong foreground color which caused unreadable input
   fields (color lightness calculation)
 * Bugfix: settings label (checkboxes) were not linked to the input elements

#### 6.0

 * Added: [WordPress Multisite](https://codex.wordpress.org/Create_A_Network) support
 * Added: New Environment Check to ensure Cryptex is working in a well configured
   environment
 * Added: Support for telephone numbers including uri scheme `tel:`
 * Added: Shortcode `telephone`
 * Added: `href` Shortcode attribute to override the default behaviour
 * Added: Plugin Upgrade Notification
 * Changed: [WP-Skeleton](https://github.com/AndiDittrich/WP-Skeleton) is used as
   Plugin Backend Framework
 * Changed: All settings are stored in serialized form in `cryptex-options` instead
   of single options
 * Changed: Settings Page URL to `wp-admin/options-general.php?page=Cryptex`
 * Changed: Base64 Filename hashes are used instead of hexadecimal ones
 * Replaced: PHP-Version-Errorpage by global admin_notice – ensure that **PHP 5.3
   or greater** is used to avoid weird errors
 * Bugfix: The cache accessibility check did not work on WIN platform
 * Bugfix: Fixed some CSS rules used in Settings-Page
 * Cleaned up the internal Plugin Structure

#### 5.2

 * Changed: the default font-file to `LiberationSans-Regular.ttf`
 * Replaced: the low-level PHP based ObjectCache by the [WordPress Transient API](https://codex.wordpress.org/Transients_API)
 * Bugfix: Fatal Errors thrown in environments with missing `imageantialias()` GD
   function are suppressed by additional check

#### 5.1

 * Added: Plugin Upgrade notifications fo major releases to the admins plugin page
 * Added: Some unit testcases (development only)
 * Bugfix: Email Address autodetection failed in some cases – thanks to [topotato on GitHub](https://github.com/AndiDittrich/WordPress.Cryptex/issues/1)

#### 5.0

 * Added: New Javascript decryption engine (size optimized – 827bytes)
 * Added: Support for [Enlighter Syntax Highlighter](https://wordpress.org/plugins/enlighter/)
   to display E-Mail Addresses within highlighted content (requires Enlighter v2.7)
 * Added: Invisible placeholders around the html output (required for [Enlighter](https://wordpress.org/plugins/enlighter/))
 * Added: Global Javascript Object `Cryptex`
 * Added: [Liberation(tm) Fonts](https://fedorahosted.org/liberation-fonts/) package
 * Added: Additional HDPI Image renderer based on the [HTML5 srcset attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img)
 * Added: Settings page link to the plugin page (metadata row)
 * Added: Link to author’s Twitter Channel (latest Enlighter updates/news)
 * Added: Option to set the CSS Font-Family (in case you want to use another font
   for Email addresses on your page)
 * Changed HTML output attribute ordering
 * Removed: MooTools + jQuery code – replaced by native version
 * Removed `js-type` option – Cryptex javascript is now **always** injected into
   the page (`wp_footer` action)
 * Removed external CSS option – the required CSS is now **always** injected into
   the page (`wp_head` action)
 * Bugfix: HDPI CSS container is now only added when cryptex images are found on
   the page
 * Bugfix: The contextual help link was not “full” selectable (covered by the tab
   nav)
 * Bugfix: Error handling of the FontManager failed (should never happen under normal
   conditions)
 * Bugfix: ObjectCache file existent check failed
 * The `readme.txt` (WordPress plugin repository) is generated from the markdown
   file `README.md` and `CHANGES.md` (GitHub style)

#### 4.0

 * Added: Retina/High-DPI image support
 * Added: Option to set the line-height (image-height) manually
 * Added [FreeType2](http://en.wikipedia.org/wiki/FreeType) support, including .
   otc and .otf fonts – enabled by default
 * Added: Font-size can be set in px or pt – px value will be forced as default
 * Added: Autodetect filter to text-widget content (optional)
 * Added: Custom cache path/url settings like WordPress’ media options (advancved
   settings)
 * Added: Option to disable Antialiasing (advancved settings)
 * Added: New html+image rendering engines
 * Added: Width+Height attributes to generated image-tags (including server side
   caching)
 * Added: Additional user-role check (administrator + `manage_options` required)
 * Added: Tab-Panels to the settings page (Appearance, Options, Advanced)
 * Added: [Contextual Help](https://codex.wordpress.org/Adding_Contextual_Help_to_Administration_Menus)
   based help/informations
 * Added: Shortcode options to override the global cryptex-settings – feature requested
   on [WordPress.org Forums](https://wordpress.org/support/topic/local-font-styles-instead-of-global-choice)
 * Added: Option to load stylesheet as inline content (style tag displayed in `wp_footer`)
 * Added: Option to include javascript, required for hyperlink-decoding, as inline
   content (script tag displayed in `wp_head` or `wp_footer`)
 * Added: Cleanup of generated stylesheets
 * Added: New Screenshots
 * Added: License Informations to settings-page footer
 * Added: Error supression for system-font scanning
 * Updated: MooTools Javascript code now uses `document.getElements()` instaed of
   leagcy `$$()` selector
 * Modified: Cryptex javascript file uses UglifyJS for minification
 * New settings page – now matches WordPress corporate UI style
 * Removed WordPress <= 3.7 compatibility mode/legacy UI style
 * Bugfix: Added some missing I18n namespaces
 * Many internal changes/improvements

#### 3.3

 * Added: Option to enable processing of “Nested-Shortcodes” within cryptex/email
   tags – this might be useful if your using inner shortcode which fetches some 
   content from your database, etc. (disabled by default)
 * Bugfix: E-Mail-Address-Autodetection doesn’t recognize subdomains (e.g. test.
   name@sub1.example.com)

#### 3.2.1

 * Bugfix: CSS files doesn’t get generated on upgrading the plugin – you have to
   click “save settings” to force the creation on previuos versions

#### 3.2

 * Added: Autodetection filters for `get_the_excerpt`, `get_comment_text` and `get_comment_excerpt`
 * Added: New Security-Mode “Advanced Multipart Image” – each part of the email-
   address (seperated by dot’s and @ sign) is displayed as an image, the dividers
   as plain text
 * Added: New Security-Mode “Text” – not recommended but usefull if you don’t want
   to use images (e.g. screenreaders required) – this setting will only modify the
   @sign of the text and adds mailto
 * Added: Option to enable/disable `the_excerpt`, `the_content`, `get_comment_text`
   and `get_comment_excerpt` autodetect filters
 * Added: Text-Replacement for the **dot (.)** within E-Mail-Addresses
 * Improved: Increased the robustness of the Font-Manager (font detection)
 * Improved: Font-List is now alphabetically sorted
 * Bugfix: Limited the total number of directories to be recursively scanned by 
   the Font-Manager to **100**. This will prevent plugin-crashes by e.g. scanning
   the whole filesystem. A minimum Font-Path length of 4 characters is also required(
   using root path **/** is now permitted)
 * Bugfix: Misspelled variable within Cryptex Main class (no influence)

#### 3.1

 * Added: E-Mail-Address autodetection – transforms E-Mail-Addresses from post/pages
   directly into images without the need of shortcodes (**optionally** – you can
   turn it off on the settings page)
 * Added: I18n generation tools, including ANT build script
 * Added: German translation (de_DE)
 * Added: I18n can be disbaled
 * Added: Environment Pre-Check (PHP 5.3 requirement!)
 * Improved UI
 * Bugfix: Added missing I18n domains
 * Bugfix: Misspelled variable within image-hash generation (caused php error)

#### 3.0

 * New plugin backend structure
 * PHP Namespaces used to isolate plugin (PHP >= 5.3 required!)
 * Improved settings page, new design
 * Improved E-Mail-Address detection
 * Many performance optimizations
 * Removed support for GD library version 1.x (>= v2.0.38 required)
 * Added: Support for new WordPress backend UI style
 * Added: Automated Font Search/Detection
 * Added: Shortcode-Alias [email] to be compatible with other plugins
 * Added: User defined dimension offsets for generated images
 * Added: FULL I18n support (internationalization)
 * Bugfix: Cache not cleared on activating plugin (required for updates)
 * Bugfix: Closed possible attack vector on image filenames by decoding the used
   sha1 hashes – now a unique salt is used to prevent it
 * Bugfix: Invalid px/pt transformation used for GD1/2 interoperability
 * Bugfix: Wrong css cursor was used for divider (@ sign) using hybrid mode

#### 2.0

 * Complete rewritten version of the plugin. Completly cleaned, strict OOP coding
   style
 * Bugfix: removed cryptex js+css from wordpress admin pages
 * Bugfix: pointer cursor is only visible on active hyperlinks
 * Improved: you can add css prefixes to fix problems with some themes without editing
   your theme css
 * Improved: only 1 css file is added instead of 2 files like before
 * Improved: new plugin directory structure
 * Added: I18n (internationalization) is supported
 * Added: you can select the method cryptex uses to display email addresses (single
   image, hybrid image)
 * Added: if you wanna use cryptex directly in your wordpress template, you can 
   simply use `Cryptex::crypt('yourtext');` to display ‘yourtext’ as crypted version

#### 1.3.5

 * Bugfix: (websites without JQuery or MooTools) using Cryptex on more than one 
   e-mail address per page failed: when any of the e-mail addresses getting clicked,
   the address from the last address gets applied to all of the links. (Thanks to**
   Kory S.**)

#### 1.3.4

 * Bugfix: by some misunderstanding of the WordPress API the update/upgrade/installation
   of **any plugins** triggered the restore/backup events of cryptex – this may 
   be cause a “permission denied” error message during the installation of **any**
   plugin. _I apologize for this inconvenience_
 * Improved: dynamic CSS file is automatically generated on activating the plugin
 * Improved: suppress error messages if there is no GD-library

#### 1.3.3

 * Bugfix: restore of font folder `cryptex/fonts` failed on upgrade (windows servers..)

#### 1.3.2

 * Bugfix: restore of css files failed on upgrade
 * Bugfix: CSS file only updated after second press on “save changes”
 * Bugfix: color parsing error – colors like 0x0000ff not parsed correctly
 * Bugfix: CSS font family failure on dynamic generated files
 * Added: button to restore default font path `\wp-content\plugins\cryptex\fonts\`
 * Added: jQuery [ColorPicker](http://www.eyecon.ro/colorpicker/) to settings page
 * Added: support for custom text in cryptex shortcode (like telephone numbers, 
   postal addresses)
 * Improved: new plugin directory structure – moved js+css files

#### 1.3.1

 * Bugfix: restore of font folder `cryptex/fonts` failed on upgrade

#### 1.3

 * First public release.

## Meta

 *  Version **7.1**
 *  Last updated **6 సంవత్సరాలు ago**
 *  Active installations **900+**
 *  WordPress version ** 3.9 or higher **
 *  Tested up to **5.4.19**
 *  Language
 * [English (US)](https://wordpress.org/plugins/cryptex/)
 * Tags
 * [e-mail](https://te.wordpress.org/plugins/tags/e-mail/)[email](https://te.wordpress.org/plugins/tags/email/)
   [privacy](https://te.wordpress.org/plugins/tags/privacy/)[robots](https://te.wordpress.org/plugins/tags/robots/)
 *  [Advanced View](https://te.wordpress.org/plugins/cryptex/advanced/)

## Ratings

 4 out of 5 stars.

 *  [  3 5-star reviews     ](https://wordpress.org/support/plugin/cryptex/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/cryptex/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/cryptex/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/cryptex/reviews/?filter=2)
 *  [  1 1-star review     ](https://wordpress.org/support/plugin/cryptex/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/cryptex/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/cryptex/reviews/)

## Contributors

 *   [ Andi Dittrich ](https://profiles.wordpress.org/andi-dittrich/)
 *   [ Aenon Dynamics ](https://profiles.wordpress.org/aenondynamics/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/cryptex/)