8 个版本
0.1.8 | 2024年1月23日 |
---|---|
0.1.7 | 2024年1月23日 |
#759 in 加密学
每月 45 次下载
16KB
127 代码行
Encryptodon
Pachyderm 前往私有 🐘🕶️
加密
// JavaScript (web)
import init, { decrypt, encrypt, generate_keys } from "https://unpkg.com/[email protected]/encryptodon.js";
(async () => {
await init();
const your_keys = generate_keys();
const their_keys = generate_keys();
// your end
const status = "i'm a sneaky elephant 🐘👀";
const encrypted_status = encrypt(status, their_keys.public, your_keys.private);
// their end
const decrypted_status = decrypt(encrypted_status, your_keys.public, their_keys.private);
console.log(decrypted_status); // -> i'm a sneaky elephant 🐘👀
})();
// Rust (embedded)
let your_keys = encryptodon::generate_keys();
let their_keys = encryptodon::generate_keys();
// your end
let status = "i toot privately 🐘💨".to_string();
let encrypted_status = encryptodon::encrypt(status.clone(), their_keys.public(), your_keys.private()).unwrap();
// their end
let decrypted_status = encryptodon::decrypt(encrypted_status, your_keys.public(), their_keys.private()).unwrap();
println!(decrypted_status); // -> i toot privately 🐘💨
Bio 解析
// JavaScript (web)
import init, { extract_key_from_bio } from "https://unpkg.com/[email protected]/encryptodon.js";
(async () => {
await init();
const bio = "i eat food. 🐘🔑:0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=";
const key = extract_key_from_bio(bio);
console.log(key); // -> 0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=
})();
// Rust (embedded)
let bio = "🐘🔑:0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=\nmore stuff...".to_string();
let key = encryptodon::extract_key_from_bio(bio).unwrap();
println!(key); // -> 0bmKKWS04lZzoPC/KlS1kJgWN+XnvBw0yn4PPnot73E=
依赖
~3–4.5MB
~93K SLoC