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

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

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

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

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

希望可以:

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

好处是:

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

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

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


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

brew install gpg

进行安装。

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

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

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

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

    25833 引用 • 106964 回帖
  • Q&A

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

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

相关帖子

欢迎来到这里!

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

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

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

  • llej via Android

    目前是不支持的

  • ringx via macOS

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

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

    实现上可以这样:

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

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

    1 操作
    ringx 在 2024-05-31 20:24:50 更新了该回帖
  • ringx via macOS

    这种前端 OpenPGP 解密的方式,对于目前来说感觉侵入是最小的。

    因为密文本身也是文本内容,前端只是显示的时候解密了一下。

    希望开发大大们看到的时候真的考虑一下这种方式,

    哪怕是做成收费项目,我也很乐意进行付费。

  • ringx via macOS

    不太想让这个帖子沉了,希望可以加以考虑,或者简单验证!

  • Kootea

    😄 我也想要 但是觉得没啥希望 只要一说到加密然后就会有人跳出来说在本地是明文的没有意义

    1 回复
  • ringx via macOS

    就是要避免明文存储,保存的是密文,前端用密码解密。依赖 openpgp。

    1 回复
  • Kootea

    别说加密了 但凡能要求输入授权码都谢天谢地了

请输入回帖内容 ...

推荐标签 标签

  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖 • 2 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    108 引用 • 153 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖 • 2 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 272 关注
  • 印象笔记
    3 引用 • 16 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 26 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 672 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    179 引用 • 3876 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 154 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    89 引用 • 1251 回帖 • 397 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 662 关注
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    16 引用 • 236 回帖 • 254 关注
  • Outlook
    1 引用 • 5 回帖 • 3 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 33 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 248 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 118 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 37 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 184 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    184 引用 • 822 回帖
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • SSL

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

    70 引用 • 193 回帖 • 415 关注
  • danl
    173 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 1 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 互联网

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

    98 引用 • 367 回帖
  • abitmean

    有点意思就行了

    33 关注
  • 七牛云

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

    29 引用 • 230 回帖 • 126 关注