- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
尝试通过 go 命令行指令启动 veracrypt 但它获得退出状态 1 或未显示错误且未创建请求的卷。
func main() {
cmd := exec.Command("veracrypt",
"-c", "/home/user/test/samplevolume.vcrypt",
"--volume-type", "normal",
"--filesystem", "FAT",
"--hash", "SHA256",
"--encryption", "AES",
"--size", "10M",
"--pim", "1234",
"-k", "",
"--random-source", "/home/user/test/README.md")
var out bytes.Buffer
var stderr bytes.Buffer
cmd.Stderr = &stderr
stdin, err := cmd.StdinPipe()
if err != nil {
fmt.Println(fmt.Sprint(err))
}
go func() {
defer stdin.Close()
err = cmd.Run()
// io.WriteString(stdin, "1234")
// io.WriteString(stdin, "y")
// io.WriteString(stdin, "1234")
}()
if err != nil {
fmt.Println(fmt.Sprint(err) + ": " + stderr.String())
return
}
fmt.Println("Result: " + out.String())
// outin, err := cmd.CombinedOutput()
// if err != nil {
// log.Fatal(err)
// }
// fmt.Printf("%s\n", outin)
}
注释部分是我使用的导致退出状态 1 的另一种方法。
之所以把末尾的3个字符串"1234",y,"1234"都传过去,是因为我们要交互输入密码。
代码最终不会创建 veracrypt 文件。
这是我们尝试使用 golang 调用的 veracrypt 的命令行说明。
veracrypt -c ~/test/samplevolume.vcrypt --volume-type normal --filesystem FAT --hash SHA256 --encryption AES --size 10M --pim 1234 -k= --random-source ~/test/README.md
注意:如果重要的话,一切都在 linux 上。
编辑:另外,我是 golang 的新手,如果我犯了一个明显的错误,请原谅。
最佳答案
您在路径名中使用波浪号 ~
,但这不是 Unix 路径开头的有效字符。
相反,某些 shell 在将波浪号传递给操作系统之前用用户主目录的路径替换波浪号。
因为您没有使用 shell,所以您必须自己提供实际目录。您不能在路径的开头使用波浪号。
关于go - 使用 golang 创建 veracrypt 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54025483/
我正在开发一个私有(private)项目,并开始对有人窃取我的代码感到有点偏执,并且不想依赖当前源代码控制托管服务的诚实,尽管我没有任何理由不这样做信任他们。在可预见的 future ,我将是唯一从事
我正在使用 veracryp,需要以非交互模式运行安装脚本。要运行脚本,如果以交互模式运行,我需要将脚本要求的答案传递给它。问题是,如果我通过命令管道或从文件传递答案,我会收到错误消息: ec
我正在尝试从 powershell 脚本运行以下命令。 "C:\Program Files\VeraCrypt\VeraCrypt Format-x86.exe" /create "C:\test v
我正在尝试从 powershell 脚本运行以下命令。 "C:\Program Files\VeraCrypt\VeraCrypt Format-x86.exe" /create "C:\test v
据我所知,veracrypt 的 linux 版本没有 gui(我正在运行 Ubuntu),这很好,但我想更改加密驱动器的密码,但不知道该怎么做。 我用 -C 尝试了多种选项组合。和 --new-pa
veracrypt 是否在内存中进行任何类型的文件缓存,这可能会阻止对我的 git 配置文件的更改被识别? 长版本:我在与 Windows 共享的 veracrypt 分区上有一个存储库。在尝试在我的
我试图在 Linux 命令行上使用相同的密码更方便地挂载多个 Veracrypt 卷。由于 Veracrypt 仅支持 GUI 模式下的密码缓存,因此我编写了以下代码来为我完成这项工作: #inclu
尝试通过 go 命令行指令启动 veracrypt 但它获得退出状态 1 或未显示错误且未创建请求的卷。 func main() { cmd := exec.Command("veracryp
我是一名优秀的程序员,十分优秀!