14个版本

0.6.8 2024年7月31日
0.6.7 2024年6月26日
0.6.2 2024年5月23日
0.5.0 2024年3月5日
0.4.3 2024年1月22日

#1245 in 加密学

Download history 103/week @ 2024-05-11 339/week @ 2024-05-18 26/week @ 2024-05-25 150/week @ 2024-06-01 295/week @ 2024-06-08 218/week @ 2024-06-15 154/week @ 2024-06-22 13/week @ 2024-06-29 129/week @ 2024-07-27 5/week @ 2024-08-03

134 每月下载量
2 crates 中使用

MIT 许可证

84KB
1K SLoC

nuts:一个安全存储工具集。

简介

nuts库实现了一个安全存储库,数据存储在容器中。容器被分成加密块。因此,nuts容器看起来像一个块设备。所有打开它所需的东西(例如密钥)都存储在容器本身中。该库具有丰富的API,因此可以轻松集成到您的应用程序中。

容器本身不管理加密数据。它被传输到一个只负责块持久存储的后端。这样,数据可以轻松地存储在不同的媒体或不同的格式中。密钥保留在容器中,不会存储在后端。

nuts-archive是一个基于nuts容器的应用程序。受tar工具的启发,您可以将文件、目录和符号链接存储在nuts容器中。

nuts命令行实用程序用于维护nuts容器及其应用程序。

入门

安装

尝试nuts工具的最简单方法是使用Docker容器

docker pull dorobin/nuts

然后在容器中打开一个shell

docker run -it dorobin/nuts bash
root@92cdafaf933b:/# # you are inside the container
root@92cdafaf933b:/# # the nuts tool is installed as /usr/local/bin/nuts
root@92cdafaf933b:/# ls /usr/local/bin/nuts
/usr/local/bin/nuts

或者,可以使用cargo install安装nuts工具及其后端

安装nuts工具

cargo install nuts-tool

nuts-directory后端作为插件安装

cargo install nuts-directory --features=plugin

配置插件

插件必须为nuts工具配置

nuts plugin add directory --path nuts-directory
  • directory是插件名称。您可以使用此标识符来识别插件。
  • nuts-directory是插件可执行文件的路径。

注意:如果您正在使用Docker镜像,此步骤不是必需的。插件已在镜像中配置。

创建容器

以下命令创建一个名为sample的容器,它使用directory插件

nuts container create sample --plugin=directory

从容器检索一些基本信息

NUTS_CONTAINER=sample nuts container info

工具 nuts 评估环境变量 NUTS_CONTAINER 以确定使用哪个容器。或者,可以使用命令行选项 --container

在容器上创建存档

NUTS_CONTAINER=sample nuts archive create

将本地文件放入存档

echo "hello world" > f1.txt
NUTS_CONTAINER=sample nuts archive add f1.txt

列出存档的内容

NUTS_CONTAINER=sample nuts archive list

从存档中检索文件

NUTS_CONTAINER=sample nuts archive get f1.txt

lib.rs:

一个示例 nuts_backend::Backend 实现,该实现在内存中存储数据。

此实现主要用于演示、测试和文档。

它使用一个哈希表存储数据块的内容,通过后端的 Id 来索引,其中 id 是一个简单的 u32 值。

依赖项

~285–750KB
~18K SLoC