1 个不稳定版本

0.14.0 2024 年 8 月 2 日

#1290加密学

Download history 81/week @ 2024-07-29 19/week @ 2024-08-05 8/week @ 2024-08-12

108 每月下载量
用于 2 crates

自定义许可证

115KB
3K SLoC

Sentc

由 Sentclose 提供

一个端到端加密 SDK,适用于具有用户管理的开发者。

可用语言

  • Web 的 JavaScript
  • 带有 flutter 的 Dart
  • Rust

包含

  • 用户管理:注册、登录、身份验证、授权
  • 群组管理:邀请或添加成员、角色管理、群组加密
  • 在浏览器和本地处理大型文件

从源码构建

要求

  • Rust MRV 1.75.0
  • 对于 flutter
    • flutter_rust_bridge_codegen (cargo install flutter_rust_bridge_codegen)
    • cargo-ndk
    • llvm
    • flutter ffi (dart pub global activate ffigen)
  • 对于 Javascript
    • wasm-pack
    • node js 最小版本 14 lts

为 rust 构建

在当前工作区中构建 rust

cargo build --release

使用 wasm pack 构建 javascript (wasm)

  1. implementation/js/sentc_wasm 中使用 wasm pack 构建
cd ./implementation/js/sentc_wasm
wasm-pack build --target web 
  1. implementation/js/sentc_wasm 中构建 typescript 代码
cd ./implementation/js/sentc_wasm
npm run build

构建 flutter

使用 flutter rust bridge 和 cargo-ndk 构建

  1. 在当前工作区中生成 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>
  1. 使用 cargo-ndk 在 implementation/dart/sentc_flutter_rust 中构建 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

依赖项

~2.3–3.5MB
~77K SLoC