Favivon - Correção

This commit is contained in:
2026-05-30 19:59:39 -03:00
parent 76ddaa815d
commit d7dfd221f0
32859 changed files with 5459654 additions and 404 deletions
+39
View File
@@ -0,0 +1,39 @@
import { DecrypterAesMode } from './decrypter-aes-mode';
export default class FastAESKey {
private subtle: SubtleCrypto;
private key: ArrayBuffer;
private aesMode: DecrypterAesMode;
constructor(
subtle: SubtleCrypto,
key: ArrayBuffer,
aesMode: DecrypterAesMode,
) {
this.subtle = subtle;
this.key = key;
this.aesMode = aesMode;
}
expandKey() {
const subtleAlgoName = getSubtleAlgoName(this.aesMode);
return this.subtle.importKey(
'raw',
this.key,
{ name: subtleAlgoName },
false,
['encrypt', 'decrypt'],
);
}
}
function getSubtleAlgoName(aesMode: DecrypterAesMode) {
switch (aesMode) {
case DecrypterAesMode.cbc:
return 'AES-CBC';
case DecrypterAesMode.ctr:
return 'AES-CTR';
default:
throw new Error(`[FastAESKey] invalid aes mode ${aesMode}`);
}
}