Staticrypt 3.0 迁移指南:从密码保护到安全升级
前言
Staticrypt 是一款优秀的静态网页加密工具,它允许开发者通过密码保护HTML文件内容。最新发布的3.0版本带来了多项重要改进,包括更强大的WebCrypto加密支持、更简洁的CLI选项以及更简单的密码模板系统。本文将详细介绍如何从2.x版本平滑迁移到3.0版本。
核心升级亮点
3.0版本的主要改进包括:
- 默认使用WebCrypto API:提供更强的加密安全性
- 简化的CLI选项:命令参数更加直观易用
- 优化的密码模板:模板逻辑大幅简化
- 兼容性保留:原有的"分享链接"和"记住我"功能仍然可用
迁移前注意事项
环境要求变更
-
HTTPS强制要求:WebCrypto仅在HTTPS和localhost环境下可用。如果您的应用需要通过HTTP访问,需要继续使用2.x版本。
-
Node.js版本要求:最低要求Node.js 16。如需使用更低版本,需继续使用2.x版本并选择cryptoJS引擎。
主要变更点详解
CLI工具变更
-
输出目录结构变化:
- 旧版:生成
secret_encrypted.html
- 新版:创建
encrypted/
目录并在其中生成secret.html
- 旧版:生成
-
密码强度检查强化:
- 旧版:密码短于14字符时显示警告
- 新版:密码短于14字符时会强制确认(可通过
--short
参数跳过)
-
参数命名规范化:
- 所有模板相关参数统一为
--template-*
前缀 - 密码参数变为可选(
-p <password>
或留空等待提示)
- 所有模板相关参数统一为
密码模板变更
如果您使用默认模板,无需任何修改。如果使用自定义模板,需要:
- 获取新版
lib/password_template.html
中的JavaScript逻辑部分 - 替换自定义模板中的对应代码
- 更新模板变量语法(新语法更安全):
| 旧变量 | 新变量 | |--------|--------| | {title}
| /*[|template_title|]*/0
| | {instructions}
| /*[|template_instructions|]*/0
| | {remember_me}
| /*[|template_remember|]*/0
| | {passphrase_placeholder}
| /*[|template_placeholder|]*/0
| | {decrypt_button}
| /*[|template_button|]*/0
|
迁移步骤建议
- 备份现有项目:确保所有加密文件有备份
- 升级环境:确保Node.js版本≥16
- 测试加密:使用新版CLI加密测试文件
- 模板适配:如有自定义模板,按上述说明修改
- 全面测试:验证所有功能是否正常
常见问题解决方案
- HTTP环境问题:如需HTTP支持,可降级使用2.x版本
- Node版本问题:使用nvm等工具管理多版本Node环境
- 模板变量报错:仔细检查变量语法是否完全匹配
结语
Staticrypt 3.0在安全性和易用性方面都有显著提升。虽然迁移过程需要一些调整,但这些改进将为您的静态网页加密提供更强大的保障。按照本文指南操作,您应该能够顺利完成版本升级。如果在迁移过程中遇到任何问题,建议查阅详细的错误信息并参考新版文档。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考