3个版本 (破坏性更新)
新 0.14.0 | 2024年8月2日 |
---|---|
0.10.0 | 2023年8月10日 |
0.8.0 | 2023年6月8日 |
#2282 in 加密学
每月 119 次下载
在 8 个crate中使用了 (直接使用6个)
35KB
745 行
Sentc
来自Sentclose
一个端到端加密SDK,适用于具有用户管理的开发者。
支持
- JavaScript
- Dart与flutter
包含
- 用户管理:注册、登录、认证、授权
- 群组管理:邀请或添加成员、角色管理、群组加密
- 在浏览器和本地处理大文件
从源代码构建
要求
- Rust MRV 1.69.0
- 对于flutter
- flutter_rust_bridge_codegen (
cargo install flutter_rust_bridge_codegen
) - cargo-ndk
- llvm
- flutter ffi (
dart pub global activate ffigen
)
- flutter_rust_bridge_codegen (
- 对于JavaScript
- wasm-pack
- node js最小版本 14 lts
为Rust构建
在当前工作区中构建Rust
cargo build --release
构建JavaScript (wasm)
- 在
implementation/js/sentc_wasm
中使用wasm pack构建
cd ./implementation/js/sentc_wasm
wasm-pack build --target web
- 在
implementation/js/sentc_wasm
中构建typescript代码
cd ./implementation/js/sentc_wasm
npm run build
构建flutter
使用flutter rust bridge和cargo-ndk构建
- 在当前工作区中生成flutter代码
flutter_rust_bridge_codegen --rust-input implementation/dart/sentc_flutter_rust/src/sentc.rs --dart-output implementation/dart/sentc/lib/generated.dart --llvm-path <path-to-your-llvm>
- 在
implementation/dart/sentc_flutter_rust
中使用cargo-ndk构建android代码
cd ./implementation/dart/sentc_flutter_rust
cargo ndk -t armeabi-v7a -t arm64-v8a -t x86 -t x86_64 -o ../sentc/android/src/main/jniLibs build --release
lib.rs
:
Sentclose加密crate
此crate为非标准型,使用alloc
使用的算法
- 密码散列
- argon2
- 对称加密
- aes gcm
- 非对称加密
- 基于x25519的ecies
- 签名
- ed25519
- hmac
- hmac sha256
此crate可以作为独立版本使用,无需sentclose api
依赖
~445–690KB
~14K SLoC