/bad_lock

lock/unlock files with password by aes-128-cbc

Primary LanguageRust

BadLock

一种文件加解密方法, 支持多密码 (<=16)

项目结构

  • core.rs: 实现 AES-256-CBC 加解密

文件格式

BadLock\0****\n\[ORIGINAL_FILENAME]n[ENCRYPTED_PASSWORD1_LEN]\n[ENCRYPTED_PASSWORD2_LEN]\n...\n[ENCRYPTED_PASSWORD_BYTES]\n[DATA]
  • 第1行: BadLock\0[****], 固定12字节, 其中 ****密码数量-1的二进制表示 (即最大支持16个密码)
  • 第2行: [ORIGINAL_FILENAME], 原始文件名
  • 后续若干行: [ENCRYPTED_PASSWORD_LEN]\n, 每一行包含一个密文的长度
  • 后续1行: [ENCRYPTED_PASSWORD_BYTES], 所有密文的拼接
  • 最后一行: [DATA], 加密后的数据

wasm build

https://rustwasm.github.io/docs/wasm-pack/commands/build.html

wasm-pack build --release --target web --out-dir ./wasm --out-name badlock