当我尝试在 Firefox 上使用 Crypto API 时遇到了问题。(文档)当我尝试使用此函数加密明文时,出现类型错误:
window.crypto.subtle.encrypt(algo_enc,key,padded_clear_txt);
Run Code Online (Sandbox Code Playgroud)
(文档)
这就是我定义参数的方式:
算法_enc:
var iv = new Int32Array(4) ;//4-32 bit integers (128 bits)
window.crypto.getRandomValues(iv); //defining the IV
var algo_enc = {"name": "AES-CBC", iv}
Run Code Online (Sandbox Code Playgroud)
钥匙:
var alg_key = {"name":"AES-CBC","length":128};
var key = window.crypto.subtle.generateKey(alg_key,false,["encrypt","decrypt"]);
Run Code Online (Sandbox Code Playgroud)
padded-clear-txt 是我想要加密的 256 位 (2*128) 消息。
这是我执行加密函数时遇到的错误:
SubtleCrypto.encrypt 的参数 2 没有实现 CryptoKey 接口。
密钥的生成很顺利,它是一个 CryptoKey 对象,但我仍然收到此错误。所以也许这是我应该报告的错误......
我用一个用Rust编写的DLL替换用C++编写的DLL.目前DLL中的函数调用如下:
BOOL calledFunction(wchar_t* pFileName)
Run Code Online (Sandbox Code Playgroud)
我相信在这个上下文中wchar_t是一个16位的Unicode字符,所以我选择在我的Rust DLL中公开以下函数:
pub fn calledFunction(pFileName: *const u16)
Run Code Online (Sandbox Code Playgroud)
将原始指针转换为实际可用于从Rust DLL打开文件的内容的最佳方法是什么?