可不可以考虑支持对单个笔记本加密?

本贴最后更新于 236 天前,其中的信息可能已经天翻地覆

对思源笔记真是相见恨晚,用起来真是舒服。

个人使用过程中,还有个比较典型的需求,不知道大家有没有遇到:

单独对一个笔记本加密保存。

希望可以:

  1. 创建加密的笔记本的时候,需要提供一个密码。
  2. 加密的笔记本是密文存储的。
  3. 关闭状态的笔记本,旁边可以显示一把小锁 🔒
  4. 打开关闭的加密笔记本,需要输入密码。

好处是:

  1. 有些特别敏感的信息可以更加安全。

    目前思源的数据目录(至少 docker 上的 workspace)中,数据好像是明文的。

  2. 对于一个打开的思源软件,如果在打开笔记本的时候输入密码,在使用端也是更加安全的。


在电脑上,我用得比较多的是一个叫 gpg 的工具,如果是 mac 的话可以通过:

brew install gpg

进行安装。

它可以进行比较安全的加密、解密、验证。理论上这套行为是可以照搬到笔记上的(使用 openpgp.js)。只要在编辑文件的流程加点逻辑:

  1. 创建笔记本的时候,可以使用用户的【密码】加密一些笔记本的元数据,存到后端。
  2. 打开笔记本的时候,用输入的密码进行【验证】来确定密码的正确性。
  3. 编辑文档资源的时候,在编辑器前后加 hook,多一个【读取文档之后解密】和【写入文档之前加密】的步骤就可以了。
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23697 引用 • 96163 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8807 引用 • 40151 回帖 • 133 关注
2 操作
ringx 在 2024-05-31 22:47:04 更新了该帖
ringx 在 2024-05-31 22:46:18 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • ringx via macOS

    @JeffreyChen 我看了下你贴的内容,和我的需求还是不太相符的,以下是对这个帖子的看法:

    1. 我不太需要前端加密这种方式,因为如果这样的话,我简单登出使用 AccessCode 登录也很方便了。
    2. 我觉得单独对文本使用 gpg 加密,做到存储端的加密是非常重要的。
  • 其他回帖
  • ringx via macOS

    加密的方法可以考虑使用:gpg

  • ringx via macOS

    实现上可以这样:

    1. 服务端只存储密文
    2. 前端使用 OpenPGP.js,在打开或者新建一个笔记本的时候,用一个 javascript 变量存储一下输入的密码,读取到服务器的密文数据的时候,使用这个密码解密一下内容,在前端显示出明文数据。
    3. 关闭笔记本的时候,只需要简单销毁这些 dom 及 js 上下文就可以了。

    对于加密的笔记本,不需要任何超越笔记本外的索引。

    1 操作
    ringx 在 2024-05-31 20:24:50 更新了该回帖
  • 查看全部回帖

推荐标签 标签

  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 3 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 620 关注
  • 安全

    安全永远都不是一个小问题。

    202 引用 • 816 回帖
  • Anytype
    3 引用 • 31 回帖 • 2 关注
  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    36 引用 • 151 回帖
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 72 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 1 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    28 引用 • 225 回帖 • 147 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 75 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    93 引用 • 900 回帖
  • gRpc
    11 引用 • 9 回帖 • 77 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 344 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    314 引用 • 547 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 647 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖 • 1 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 791 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    77 引用 • 1745 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 483 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 409 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 243 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 225 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖