7 个版本 (1 个稳定版本)
1.0.0 | 2021年5月22日 |
---|---|
0.1.1 | 2021年4月25日 |
0.0.5 |
|
0.0.1 | 2021年3月28日 |
#2423 in 加密学
每月 32 次下载
用于 joplin-reader
33KB
684 行
sjcl-rust
支持解密和加密 SJCL 兼容块的库。
特性
- 加密 & 解密
- 密钥大小介于 128-到 256 位
AES-CCM
- ⚠️
AES-OCB2
已弃用且 不支持
用法
use sjcl::decrypt_raw;
let data = "{\"iv\":\"nJu7KZF2eEqMv403U2oc3w==\", \"v\":1, \"iter\":10000, \"ks\":256, \"ts\":64, \"mode\":\"ccm\", \"adata\":\"\", \"cipher\":\"aes\", \"salt\":\"mMmxX6SipEM=\", \"ct\":\"VwnKwpW1ah5HmdvwuFBthx0=\"}".to_string();
let password_phrase = "abcdefghi".to_string();
let plaintext = String::from_utf8(decrypt_json(data, password_phrase, None).unwrap())?;
lib.rs
:
sjcl
简单的只解密 SJCL 库。
目前仅支持 AES-CCM,但 OCB2 已弃用。要使用,您只需要 SJCL 加密秘密的结果和密码。
用法
解密加载到字符串中的文件
use sjcl::decrypt_json;
use sjcl::SjclError;
let data = "{\"iv\":\"nJu7KZF2eEqMv403U2oc3w==\", \"v\":1, \"iter\":10000, \"ks\":256, \"ts\":64, \"mode\":\"ccm\", \"adata\":\"\", \"cipher\":\"aes\", \"salt\":\"mMmxX6SipEM=\", \"ct\":\"VwnKwpW1ah5HmdvwuFBthx0=\"}".to_string();
let password_phrase = "abcdefghi".to_string();
let plaintext = decrypt_json(data, password_phrase, None)?;
assert_eq!("test\ntest".to_string(), String::from_utf8(plaintext).unwrap());
依赖
~1.8–2.7MB
~54K SLoC