#用户管理 #加密 #flutter #sdk #dart #alg

sentc-crypto-core

sentc加密SDK的核心,包含所有算法

3个版本 (破坏性更新)

0.14.0 2024年8月2日
0.10.0 2023年8月10日
0.8.0 2023年6月8日

#2282 in 加密学

Download history 33/week @ 2024-04-15 18/week @ 2024-04-22 4/week @ 2024-04-29 4/week @ 2024-05-06 13/week @ 2024-05-13 4/week @ 2024-05-20 20/week @ 2024-05-27 6/week @ 2024-06-03 8/week @ 2024-06-10 3/week @ 2024-06-17 7/week @ 2024-06-24 10/week @ 2024-07-15 109/week @ 2024-07-29

每月 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)
  • 对于JavaScript
    • wasm-pack
    • node js最小版本 14 lts

为Rust构建

在当前工作区中构建Rust

cargo build --release

构建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. 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