197c734d5Sternite====== dokucrypt3 Plugin ====== 297c734d5Sternite 397c734d5Sternite---- plugin ---- 497c734d5Sternitedescription: A plugin to support client side cryptography 597c734d5Sterniteauthor : Scott Moser (smoser@brickies.net), maintained by Thomas Schäfer (thomas@hilbershome.de) 697c734d5Sternitetype : admin 797c734d5Sternitelastupdate : 2025-10-15 897c734d5Sternitecompatible : Hogfather, Igor, Jack Jackrum, Kaos, Librarian 997c734d5Sternitedepends : 1097c734d5Sterniteconflicts : aceeditor, fastwiki 1197c734d5Sternitesimilar : dokucrypt, dokucrypt2 1297c734d5Sternitetags : encryption, password 1397c734d5Sternite 14*7b47a9a9Sternitedownloadurl: https://github.com/ternite/dokuwiki-plugin-dokucrypt3/archive/main.zip 15*7b47a9a9Sternitebugtracker : https://github.com/ternite/dokuwiki-plugin-dokucrypt3/issues 16*7b47a9a9Sternitesourcerepo : https://github.com/ternite/dokuwiki-plugin-dokucrypt3 1797c734d5Sternitedonationurl: 1897c734d5Sternite 1997c734d5Sternite---- 2097c734d5Sternite 2197c734d5SterniteThis replaces the: [[plugin:dokucrypt2|Original DokuCrypt2 Plugin]]. 2297c734d5Sternite 2397c734d5Sternite 2497c734d5Sternite===== Installation ===== 2597c734d5Sternite 2697c734d5SterniteSearch and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually. 2797c734d5Sternite 2897c734d5SterniteNote: Plugin is now maintained by Thomas Schäfer. 2997c734d5Sternite --- [[user>thomas-schaefer-nh|Thomas Schäfer]] //2025-10-15 15:06// 3097c734d5Sternite 3197c734d5Sternite 3297c734d5Sternite====== About ====== 3397c734d5Sternite 3497c734d5Sternitedokucrypt is a client side (javascript) cryptography plugin. This plugins allows a user to store and access sensitive data in a dokuwiki. All sensitive data is encrypted before it is submitted and decrypted on the clients machine. A users' sensitive data will only be accessible when viewed with a javascript enabled browser and the proper pass phrase. It will never be transmitted or stored in plain text, and you will avoid having passwords and sensitive data stored in plain text on the server. 3597c734d5Sternite 3697c734d5SterniteThe Javascrypt (http://www.fourmilab.ch/javascrypt/) library is used for encryption and decryption to provide 256 Bit AES encryption. 3797c734d5Sternite 3897c734d5Sternite:!: **Warning:** This plugin should not replace a password manager or peer reviewed cryptography tools for high-priority use. Do not store mission critical type data with this plugin - I cannot be sure that the info is not cached by DokuWiki or the web browser. --- [[user>sherri|sherri]] //2020-10-14 19:55// 3997c734d5Sternite 4097c734d5Sternite:!: **This plugin is provided without warranty or guarantee of any kind. Use at your own discretion.** --- [[user>thomas-schaefer-nh|Thomas Schäfer]] //2025-10-15 15:06// 4197c734d5Sternite 4297c734d5Sternite===== Releases ===== 4397c734d5Sternite 4497c734d5Sternite * 2025-10-15: Release of dokucrypt3, which has originally been an internal fork of dokucrypt2 with massive changes to the way encryption is handled. The resulting pull request would not be merged into the base repository (due to maintenance effort). So a new github repository `dokucrypt3` was created based on dokucrypt2 and the new encryption engine. 4597c734d5Sternite 4697c734d5Sternite===== Usage ===== 4797c734d5Sternite 4897c734d5Sternite==== Entering Encrypted Data ==== 4997c734d5Sternite 5097c734d5SterniteIn order to encrypt some sensitive data, the user needs to add text like the following 5197c734d5Sternite 5297c734d5Sternite Hi world. I have a secret. Can you read it? 5397c734d5Sternite <SECRET>I like ice cream.</SECRET> 5497c734d5Sternite 5597c734d5SterniteWhen the user hits 'Save' (or a draft is attempted to be saved) a prompt will open, asking the user to enter a pass phrase key for the encryption. Once supplied, the encryption will be done in the browser and the encrypted text submitted to the server. 5697c734d5Sternite 5797c734d5Sternite=== Special Characters === 5897c734d5Sternite 5997c734d5SterniteThe less-than (<) and greater-than(>) symbols, if included in the enclosed text to encrypt, will break the decryption and cause some content to not be shown. To enter these characters in your content to be encrypted, use their HTML entity equivalents: 6097c734d5Sternite 6197c734d5Sternite * < = Use: ''<'' 6297c734d5Sternite * > = Use: ''>'' 6397c734d5Sternite 6497c734d5Sternite==== Viewing Encrypted Data ==== 6597c734d5Sternite 6697c734d5SterniteWhen the page is viewed, the user will see the encrypted text and a link 'Decrypt Encrypted Text' will appear which will prompt the user for a password and decrypt the text (see the example below). 6797c734d5Sternite 6897c734d5SterniteThe encrypted text is compatible with javascrypt decryption (http://www.fourmilab.ch/javascrypt/jscrypt.html). 6997c734d5Sternite 7097c734d5Sternite 7197c734d5Sternite==== Editing Encrypted Data ==== 7297c734d5Sternite 7397c734d5SterniteTo edit the encrypted data, the user needs to Edit the wiki page. When first loaded, encrypted text will appear encrypted, surrounded by %%<ENCRYPTED>%% and %%</ENCRYPTED>%% tags. To edit this text, the user needs to press the 'DecryptSecret' button between 'Save' and 'Preview', and supply the correct pass phrase. The encrypted text will be decrypted to the 'SECRET' form showed above, and the use can edit in plaintext. Submits or drafts will be encrypted before submission with the same pass phrase supplied. 7497c734d5Sternite 7597c734d5Sternite==== Settings ==== 7697c734d5Sternite 7797c734d5SterniteThis plugin includes configuration settings. 7897c734d5Sternite 7997c734d5Sternite * ''copytoclipboard'' - If set to true, the plugin tries to copy the decrypted value to the clipboard. 8097c734d5Sternite * ''hidepasswordoncopytoclipboard'' - If set to true, the decrypted value will not be shown after being copied to the clipboard (see option 'copytoclipboard'). 8197c734d5Sternite 8297c734d5Sternite===== Known Issues ===== 8397c734d5Sternite 8497c734d5Sternite * May not work if the website including plugin control text is being translated into another language. 8597c734d5Sternite * Conflicts with Encrypted Passwords plugin (both plugins attempt to parse the <encrypt></encrypt> tag). --- [[user>Fumigator2|Fumigator2]] //2024-03-12 02:41// 8697c734d5Sternite 8797c734d5Sternite===== Feature Requests ===== 8897c734d5Sternite 8997c734d5SternitePlease use the [[https://github.com/syntaxseed/dokucrypt3/issues|GitHub Issues page]]. 9097c734d5Sternite 9197c734d5Sternite 9297c734d5Sternite===== Bugs - Please Submit Bugs On GitHub ===== 9397c734d5Sternite 9497c734d5SternitePlease use the [[https://github.com/syntaxseed/dokucrypt3/issues|Issues page on GitHub]]. 9597c734d5Sternite 9697c734d5Sternite 9797c734d5Sternite==== Patches For Older Versions of DokuWiki ==== 9897c734d5Sternite 9997c734d5SterniteIf you're running an older version of Dokuwiki (Versions 2017-02-19 "Frusterick Manners" and older.), you might want to try the approach described in [[https://github.com/syntaxseed/dokucrypt2/blob/master/OLDER_VERSIONS.md|Documentation For Old-Version Patches in dokucrypt2]]. 100