跳转到主要内容

最小权限文件存储工具

项目描述

LAFS

LAFS 是一个 实验性 的 Rust 包,它提供了一些 Tahoe-LAFS(最小权限文件存储)部分的有限实现。更具体地说,它提供了以下功能的 Rust 实现(来自原始的 Python allmydata 包)

allmydata.util.base32.b2a
allmydata.util.hashutil.tagged_hash
allmydata.util.hashutil.ssk_pubkey_fingerprint_hash
allmydata.util.hashutil.ssk_writekey_hash
allmydata.util.netstring.netstring

综合来看,这些功能足以生成与原始(Python)实现完全兼容的有效可变能力字符串/URI(如通过Tahoe-LAFS的测试向量验证)。因此,这个库可以用于完全“离线”生成或恢复加密能力(即无需与运行中的Tahoe-LAFS节点交互)以及在不适合运行完整tahoe节点或不宜这样做(例如移动设备)的环境中。

使用方法

尽管Tahoe-LAFS没有提供Python API,但为了与原始实现保持一致,本crate公开的路径尽量与原始allmydata Python包中定义的命名空间相匹配。例如,可以通过lafs::util::base32::b2a路径在Rust中调用Python的allmydata.util.base32.b2a函数。

函数签名和类型,同样,尽量与原始实现保持一致(因此,Python函数返回不确定长度的bytes可能会在Rust中返回Vec<u8>),但是,由于Python的动态类型系统以及其他基本语言差异(如Python的异常系统、默认参数等),应预期一些妥协。如有疑问,请查阅源代码。

Python绑定

除了Rust crate外,还提供了每个由本库定义的模块/函数的Python绑定(使用pyo3)。然而,由于前面提到的基本语言差异(以及一些未解决的问题问题),这些绑定不应被视为allmydata Python包定义的“即插即用”替代品;这些绑定主要用于支持与原始实现的测试。(请参阅test/目录中的示例。)

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

lafs-0.0.3.tar.gz (342.1 kB 查看散列)

上传时间: 源代码

构建发行版

lafs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (255.2 kB 查看散列)

上传时间: PyPy manylinux: glibc 2.17+ x86-64

lafs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (297.7 kB 查看散列)

上传时间: PyPy manylinux: glibc 2.17+ s390x

lafs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (293.8 kB 查看散列)

上传时间: PyPy manylinux: glibc 2.17+ ppc64le

lafs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (262.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARMv7l

lafs-0.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.4 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

lafs-0.0.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (270.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.5+ i686

lafs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (255.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

lafs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (297.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ s390x

lafs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (294.2 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ppc64le

lafs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (262.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARMv7l

lafs-0.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (261.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

lafs-0.0.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (269.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.5+ i686

lafs-0.0.3-cp312-none-win_amd64.whl (125.6 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

lafs-0.0.3-cp312-none-win32.whl (119.7 kB 查看哈希值)

上传时间: CPython 3.12 Windows x86

lafs-0.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.8 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ x86-64

lafs-0.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (295.5 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ s390x

lafs-0.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (292.6 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ ppc64le

lafs-0.0.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (262.2 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ ARMv7l

lafs-0.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (259.8 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ ARM64

lafs-0.0.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (268.7 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.5+ i686

lafs-0.0.3-cp312-cp312-macosx_11_0_arm64.whl (217.6 kB 查看哈希值)

上传时间: CPython 3.12 macOS 11.0+ ARM64

lafs-0.0.3-cp312-cp312-macosx_10_12_x86_64.whl (224.3 kB 查看哈希值)

上传时间: CPython 3.12 macOS 10.12+ x86-64

lafs-0.0.3-cp311-none-win_amd64.whl (125.7 kB 查看哈希值)

上传时间: CPython 3.11 Windows x86-64

lafs-0.0.3-cp311-none-win32.whl (119.8 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

lafs-0.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.7 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

lafs-0.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (296.3 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ s390x

lafs-0.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (293.2 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ppc64le

lafs-0.0.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (262.3 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARMv7l

lafs-0.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (260.0 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

lafs-0.0.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (269.2 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.5+ i686

lafs-0.0.3-cp311-cp311-macosx_11_0_arm64.whl (217.5 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

lafs-0.0.3-cp311-cp311-macosx_10_12_x86_64.whl (225.0 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.12+ x86-64

lafs-0.0.3-cp310-none-win_amd64.whl (125.8 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

lafs-0.0.3-cp310-none-win32.whl (119.9 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

lafs-0.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (254.0 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

lafs-0.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (296.9 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ s390x

lafs-0.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (293.2 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ppc64le

lafs-0.0.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (262.4 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARMv7l

lafs-0.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (260.1 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

lafs-0.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (269.3 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.5+ i686

lafs-0.0.3-cp310-cp310-macosx_11_0_arm64.whl (217.8 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

lafs-0.0.3-cp310-cp310-macosx_10_12_x86_64.whl (225.2 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.12+ x86-64

lafs-0.0.3-cp39-none-win_amd64.whl (126.1 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

lafs-0.0.3-cp39-none-win32.whl (120.1 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

lafs-0.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (254.2 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

lafs-0.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (296.9 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ s390x

lafs-0.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (293.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ppc64le

lafs-0.0.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (262.5 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARMv7l

lafs-0.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (260.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

lafs-0.0.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (269.3 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.5+ i686

lafs-0.0.3-cp39-cp39-macosx_11_0_arm64.whl (218.2 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

lafs-0.0.3-cp39-cp39-macosx_10_12_x86_64.whl (225.5 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.12+ x86-64

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面