Параметр тонкой криптографии не является типом «CryptoKey»
Я пытаюсь расшифровать строку с помощью SubtleCrypto , который был предварительно создан .
Вместо получения расшифрованного текста я получаю сообщение об ошибке: «Не удалось выполнить расшифровку» для «SubtleCrypto»: параметр 2 не относится к типу «CryptoKey».
console.log(window.crypto.subtle.decrypt({name:"AES-CBC", iv:""}, "1234567890123456", "i4+WxNH8XYMnAm7RsRkfOw=="));
Я попытался исследовать ошибку, но не нашел ничего, связанного с таким базовым примером. Что я делаю неправильно?
1 ответ
Параметры имеют неправильные типы: IV и данные должны передаваться как , ключ как , видеть SubtleCrypto.decrypt()
. А
CryptoKey
возвращается SubtleCrypto.importKey()
, который используется для импорта ключа.
WebCrypto API(как API низкого уровня) не поддерживает преобразование данных, например, данные в кодировке Base64 или строки в
BufferSource
, поэтому для этого необходимо использовать другие вспомогательные методы.
Следующий код расшифровывает зашифрованный текст: