Org Crypt 会加密条目的正文内容,但不会加密标题或属性。其底层使用 Emacs EasyPG 库 进行文件加解密,而 EasyPG 需要正确配置 GnuPG。
带有 ‘crypt’ 标签的标题下方文本,在文件保存时会自动加密。如需使用其他标签,可自定义 org-crypt-tag-matcher 设置。
以下是在 Emacs 初始化文件中推荐的 Org Crypt 设置:
(require 'org-crypt)
(org-crypt-use-before-save-magic)
(setq org-tags-exclude-from-inheritance '("crypt"))
(setq org-crypt-key nil)
;; 用于加密的 GPG 密钥。
;; nil 表示无条件使用对称加密。
;; "" 表示除非标题设置 CRYPTKEY 属性,否则使用对称加密。
(setq auto-save-default nil)
;; 自动保存与 org-crypt.el 不兼容:因此如果你打算频繁使用 org-crypt.el,
;; 需要将其关闭。否则每次启动 Org 时都会出现烦人的提示。
;; 若仅在本地关闭,可插入如下内容:
;;
;; # -*- buffer-auto-save-file-name: nil; -*-
可以通过为不同标题指定 ‘CRYPTKEY’ 属性,使用不同密钥,例如:
* Totally secret :crypt: :PROPERTIES: :CRYPTKEY: 0x0123456789012345678901234567890123456789 :END:
注意 ‘CRYPTKEY’ 属性仅在 org-crypt-key 非 nil 时生效。若 org-crypt-key 为 nil ,Org 会无条件使用对称加密。
将 ‘crypt’ 标签排除在继承之外,可避免已加密文本被重复加密。