Ventoy 密码插件

使用本插件你可以针对 Ventoy 开始启动时,或者是在启动某一个具体的镜像文件时设置密码保护。
需要说明的是,并没有绝对安全的密码方案,尤其是考虑到 Ventoy 的开源属性以及 U盘的可移动性。因此这里的密码保护只是一个很简单的功能。
建议只用来作为一般性的保护或者是用来防止一般性的误操作。

注意:grub对小键盘的支持不够好,因此在输入密码时(尤其是输入数字时)请不要使用右侧小键盘。

  • Json 配置

关于 ventoy.json 的位置以及相关说明,请首先参考 插件入口 (*必读)
在镜像分区 /ventoy/ventoy.json 中定义了一个 password 结构用来描述相关配置。

{
    "password": {
        "bootpwd": "txt#123456",      
        "menupwd": [
            {
                "file":"/ISO/MX-19.1_x64.iso",
                "pwd":"md5#e10adc3949ba59abbe56e057f20f883e"
            },
            {
                "file":"/ISO/ubuntu-20.04-desktop-amd64.iso",
                "pwd":"md5#abc#0659c7992e268962384eb17fafe88364"
            }
        ]
    }
}

关键字 类型 描述
bootpwd STRING 启动Ventoy时的密码。连续3次输入错误之后 Ventoy 会退出。
file STRING 镜像文件的全路径。
pwd STRING 镜像文件启动时的密码。输入错误之后会返回到 Ventoy 主菜单。
  • 密码格式
格式 举例 说明
普通文本 txt#123456 普通文本类型密码,最简单的明文形式。密码长度不能超过32个字符。固定以 txt# 开头,后面跟密码。
注意密码中不能有双引号 " 因为Ventoy内嵌的json解析器非常简单,也不支持转义字符。
普通 MD5 md5#e10adc3949ba59abbe56e057f20f883e 密码文本的MD5校验值。固定以 md5# 开头,后面跟密码的MD5值。本例中为 123456 的 MD5 值。
"加盐" MD5 md5#abc#0659c7992e268962384eb17fafe88364 "盐"+密码文本组合之后的MD5校验值。固定以 md5#xxx# 开头,后面跟"盐"+密码的MD5值。
其中 xxx 为 "盐"的部分,长度不能超过16个字符,同时不能包含井号 # (为防止解析出错)。
在本例中密码为 123456 MD5部分对应的是 abc123456 的 MD5 值。

对于最后这种 "加盐" MD5 这里简单说明一下。
由于同一个数据的 MD5 值是一样的。所以,假设你对不同的文件设置了相同的密码,如果使用普通的MD5值,这样别人虽然不知道密码具体是什么,但是能一眼就看出来, 你这几个密码是同一个,
因为 MD5 值都是一样的。这在有些情况下可能不太好。
这里你可以在密码前面再加上几个随机的字符,然后拼起来之后再计算 MD5 值。这样只要这几个随机的字符不一样,即使密码部分一样,最后的 MD5 也是不一样的。这几个随机的字符就叫做 "盐" 。
"盐"的长度不固定,一般随机加上一两个字符即可。例如,下面这几组密码都是 123456,但是分别以 a/b/c/d 作为"盐",最后的MD5值也都完全不一样。

md5#a#dc483e80a7a0bd9ef71d8cf973673924
md5#b#8df32286deed62bae5bf746672805c78
md5#c#ad07fb25aa2d3a9f96ee12f25e0be902
md5#d#adf00707a1c0154a9ad8edb57c8646f4

注意在输入的时候,仍然只是输入密码部分,不包含 "盐" 的部分。

  • MD5 计算

对于 MD5 值可以使用 https://tool.oschina.net/encrypt?type=2 或者其他在线工具计算,非常方便。
另外,如果你有Linux的shell环境,也可以执行如下命令来计算MD5。(注意要加 -n 参数,否则会把最后的回车也作为数据的一部计算MD5

echo -n 123456|md5sum

  • 多模式选项

支持。可以分别针对 x86 Legacy BIOS、IA32 UEFI、x86_64 UEFI 和 ARM64 UEFI 模式做不同的设置。详细说明请参考 多模式选项