Buckets:
| 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}`); | |
| } | |
| } | |
Xet Storage Details
- Size:
- 870 Bytes
- Xet hash:
- 8b89cabfa426e53731c8da5ed53c168eaf7242537c64f290a3f6e3ef47118a11
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.