1*97c734d5Sternite====== dokucrypt3 Plugin ====== 2*97c734d5Sternite 3*97c734d5Sternite---- plugin ---- 4*97c734d5Sternitedescription: A plugin to support client side cryptography 5*97c734d5Sterniteauthor : Scott Moser (smoser@brickies.net), maintained by Thomas Schäfer (thomas@hilbershome.de) 6*97c734d5Sternitetype : admin 7*97c734d5Sternitelastupdate : 2025-10-15 8*97c734d5Sternitecompatible : Hogfather, Igor, Jack Jackrum, Kaos, Librarian 9*97c734d5Sternitedepends : 10*97c734d5Sterniteconflicts : aceeditor, fastwiki 11*97c734d5Sternitesimilar : dokucrypt, dokucrypt2 12*97c734d5Sternitetags : encryption, password 13*97c734d5Sternite 14*97c734d5Sternitedownloadurl: https://github.com/ternite/dokucrypt3/archive/main.zip 15*97c734d5Sternitebugtracker : https://github.com/ternite/dokucrypt3/issues 16*97c734d5Sternitesourcerepo : https://github.com/ternite/dokucrypt3 17*97c734d5Sternitedonationurl: 18*97c734d5Sternite 19*97c734d5Sternite---- 20*97c734d5Sternite 21*97c734d5SterniteThis replaces the: [[plugin:dokucrypt2|Original DokuCrypt2 Plugin]]. 22*97c734d5Sternite 23*97c734d5Sternite 24*97c734d5Sternite===== Installation ===== 25*97c734d5Sternite 26*97c734d5SterniteSearch and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually. 27*97c734d5Sternite 28*97c734d5SterniteNote: Plugin is now maintained by Thomas Schäfer. 29*97c734d5Sternite --- [[user>thomas-schaefer-nh|Thomas Schäfer]] //2025-10-15 15:06// 30*97c734d5Sternite 31*97c734d5Sternite 32*97c734d5Sternite====== About ====== 33*97c734d5Sternite 34*97c734d5Sternitedokucrypt 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. 35*97c734d5Sternite 36*97c734d5SterniteThe Javascrypt (http://www.fourmilab.ch/javascrypt/) library is used for encryption and decryption to provide 256 Bit AES encryption. 37*97c734d5Sternite 38*97c734d5Sternite:!: **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// 39*97c734d5Sternite 40*97c734d5Sternite:!: **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// 41*97c734d5Sternite 42*97c734d5Sternite===== Releases ===== 43*97c734d5Sternite 44*97c734d5Sternite * 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. 45*97c734d5Sternite 46*97c734d5Sternite===== Usage ===== 47*97c734d5Sternite 48*97c734d5Sternite==== Entering Encrypted Data ==== 49*97c734d5Sternite 50*97c734d5SterniteIn order to encrypt some sensitive data, the user needs to add text like the following 51*97c734d5Sternite 52*97c734d5Sternite Hi world. I have a secret. Can you read it? 53*97c734d5Sternite <SECRET>I like ice cream.</SECRET> 54*97c734d5Sternite 55*97c734d5SterniteWhen 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. 56*97c734d5Sternite 57*97c734d5Sternite=== Special Characters === 58*97c734d5Sternite 59*97c734d5SterniteThe 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: 60*97c734d5Sternite 61*97c734d5Sternite * < = Use: ''<'' 62*97c734d5Sternite * > = Use: ''>'' 63*97c734d5Sternite 64*97c734d5Sternite==== Viewing Encrypted Data ==== 65*97c734d5Sternite 66*97c734d5SterniteWhen 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). 67*97c734d5Sternite 68*97c734d5SterniteThe encrypted text is compatible with javascrypt decryption (http://www.fourmilab.ch/javascrypt/jscrypt.html). 69*97c734d5Sternite 70*97c734d5Sternite 71*97c734d5Sternite==== Editing Encrypted Data ==== 72*97c734d5Sternite 73*97c734d5SterniteTo 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. 74*97c734d5Sternite 75*97c734d5Sternite==== Settings ==== 76*97c734d5Sternite 77*97c734d5SterniteThis plugin includes configuration settings. 78*97c734d5Sternite 79*97c734d5Sternite * ''copytoclipboard'' - If set to true, the plugin tries to copy the decrypted value to the clipboard. 80*97c734d5Sternite * ''hidepasswordoncopytoclipboard'' - If set to true, the decrypted value will not be shown after being copied to the clipboard (see option 'copytoclipboard'). 81*97c734d5Sternite 82*97c734d5Sternite===== Known Issues ===== 83*97c734d5Sternite 84*97c734d5Sternite * May not work if the website including plugin control text is being translated into another language. 85*97c734d5Sternite * Conflicts with Encrypted Passwords plugin (both plugins attempt to parse the <encrypt></encrypt> tag). --- [[user>Fumigator2|Fumigator2]] //2024-03-12 02:41// 86*97c734d5Sternite 87*97c734d5Sternite===== Feature Requests ===== 88*97c734d5Sternite 89*97c734d5SternitePlease use the [[https://github.com/syntaxseed/dokucrypt3/issues|GitHub Issues page]]. 90*97c734d5Sternite 91*97c734d5Sternite 92*97c734d5Sternite===== Bugs - Please Submit Bugs On GitHub ===== 93*97c734d5Sternite 94*97c734d5SternitePlease use the [[https://github.com/syntaxseed/dokucrypt3/issues|Issues page on GitHub]]. 95*97c734d5Sternite 96*97c734d5Sternite 97*97c734d5Sternite==== Patches For Older Versions of DokuWiki ==== 98*97c734d5Sternite 99*97c734d5SterniteIf 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