以下内容可行:
crypto.subtle.digest('SHA-512', new Uint8Array([0]))
crypto.subtle.digest('SHA-512', new Uint8Array([0]).buffer)
这些不行:
crypto.subtle.digest('SHA-512', new Proxy(new Uint8Array([0]),{}))
crypto.subtle.digest('SHA-512', new Proxy(new Uint8Array([0]).buffer,{})
错误:
'SubtleCrypto'上的 'digest' 执行失败:提供的值不是 '(ArrayBuffer 或 ArrayBufferView)'类型
instanceof Uint8Array
和 instanceof ArrayBuffer
在两种情况下都返回 true。
crypto.subtle.digest
函数需要一个真正的类型化数组,而不是代理。即使它们在 JavaScript 中是无法区分的。 - Bergi.update(data)
。您只需提供一个ArrayBuffer
,它将返回一个ArrayBuffer
的承诺。故事结束。 - Mihail Malostanidis