加密与解密


\Encryption and decryption

const crypto = globalThis.crypto;
async function aesEncrypt(plaintext) {
 const ec = new TextEncoder();
 const key = await generateAesKey();
 const iv = crypto.getRandomValues(new Uint8Array(16));
 const ciphertext = await crypto.subtle.encrypt({
 name: 'AES-CBC',
 iv,
 }, key, ec.encode(plaintext));
 return {
 key,
 iv,
 ciphertext,
 };
}
async function aesDecrypt(ciphertext, key, iv) {
 const dec = new TextDecoder();
 const plaintext = await crypto.subtle.decrypt({
 name: 'AES-CBC',
 iv,
 }, key, ciphertext);
 return dec.decode(plaintext);
} 

AltStyle によって変換されたページ (->オリジナル) /