add iam system

add iam store

feat: add crypto crate

introduce decrypt_data and encrypt_data functions

Signed-off-by: bestgopher <84328409@qq.com>
This commit is contained in:
bestgopher
2024-10-14 23:11:49 +08:00
parent 8519a596ec
commit bb2f765e5d
61 changed files with 5319 additions and 64 deletions
+28
View File
@@ -0,0 +1,28 @@
use sha2::digest::InvalidLength;
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("unexpected header")]
ErrUnexpectedHeader,
#[error("invalid encryption algorithm ID: {0}")]
ErrInvalidAlgID(u8),
#[error("{0}")]
ErrInvalidLength(#[from] InvalidLength),
#[cfg(any(test, feature = "crypto"))]
#[error("encrypt failed")]
ErrEncryptFailed(aes_gcm::aead::Error),
#[cfg(any(test, feature = "crypto"))]
#[error("decrypt failed")]
ErrDecryptFailed(aes_gcm::aead::Error),
#[cfg(any(test, feature = "crypto"))]
#[error("argon2 err: {0}")]
ErrArgon2(#[from] argon2::Error),
#[error("jwt err: {0}")]
ErrJwt(#[from] jsonwebtoken::errors::Error),
}