- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在扩展程序中使用 libsodium.js 库,到目前为止只在 Chrome(当前版本 71)中进行了测试。
到目前为止,它在标准网页上下文中运行良好,但是当我尝试在扩展中加载它时,出现错误。无论是作为脚本加载,还是我在 list 中将一个页面定义为唯一脚本并使脚本异步(字面上与浏览器页面中的方式相同):
<script src="dist/browsers/sodium.js" async></script>
我只在扩展程序中遇到了同样的错误,而在网页中却没有。错误是:
Uncaught (in promise) TypeError: s is not a function
据我所知,当页面为扩展加载时,似乎有一个尚未解决的 promise 包含 function s,但网页正确解决了它。也许我错了,因为它是由 Emscripten 生成的 8200 多行代码,所以通读起来有点迟钝。我似乎无法在扩展文档或我所做的大量谷歌搜索中找到任何答案。
谁能指出正确的方向来解决这个问题?
最佳答案
这个问题的答案是扩展有更严格的内容安全策略。他们不允许执行 eval 或类似 eval 的函数。显然,在这个库的 webassembly 中,至少有一个这样的函数阻碍了 promise 的成功。
可以在这里找到解决方案:https://developer.chrome.com/extensions/sandboxingEval
它确实可以来回发送消息,并且 iframe 确实可以访问 promise 中的库/结果代码。
我希望这对其他人也有帮助,如果需要编辑或澄清,请告诉我。
关于javascript - 在浏览器扩展中使用 libsodium.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53773291/
我通过 NuGet 安装了 Libsodium-net 并且能够在我的类中包含 Sodium,但是当我尝试运行它时,我得到了 Sodium.dll 中发生了“System.DllNotFoundExc
我需要在我的 Ubuntu (14.04) 服务器上的 PHP(5.5.9) 应用程序中加密密码和一些其他数据。我阅读了 libsodium,发现它非常适合应用程序要求。我遵循了唯一的 tutoria
我一直在努力使用 crypto_secretbox_easy() 在 libsodium 中加密/解密一些数据| .我似乎找不到关于使用的任何好的文档。 我想从用户那里获取密码,用它来以某种方式制作
功能 int crypto_sign(unsigned char *sm, unsigned long long *smlen, const unsigned char *m,
我在嵌入式设备上使用 libsodium。我想与移动设备交互以进行 key 生成/加密/解密。 是否有必要在所有参与加密通信的设备上使用 libsodium? 换句话说:libsodium 包装了 N
我正在编写一个应用程序,用户可以在其中通过端到端加密在设备之间进行通信。为此,我使用 libsodium 加密库。非对称加密函数 crypto_box(...) 需要一个随机数作为参数之一。 我对如何
我想用 libsodium 中的公私 key 方法加密一个大文件(100 MB)。对于小消息,我使用 crypto_box_easy() ,但这不适用于大文件。最好的使用方法是什么crypto_box
我一直在使用 PHP 中的 openssl 库来生成用于 RSA 加密的 key 对,并且看到在最新版本的 PHP 7.2 中,现在已经集成了 libsodium。 我想更新到较新的库,并且可以生成
RFC 7539定义其 AEAD 构造如下: chacha20_aead_encrypt(aad, key, iv, constant, plaintext): nonce = constant
我正在尝试在扩展程序中使用 libsodium.js 库,到目前为止只在 Chrome(当前版本 71)中进行了测试。 到目前为止,它在标准网页上下文中运行良好,但是当我尝试在扩展中加载它时,出现错误
在我的 C++ 项目中,我使用 libsodium 库来创建和验证消息的签名。 为了验证签名,我以这种方式使用 libsodium crypto_sign_open 函数 bool Signature
我正在尝试在 C++ 项目中使用 libsodium 库,但在将静态 Libsodium 库链接到我创建的共享对象时遇到了困难。该项目正在使用 G++ 编译,并设置为使用 C++11 标准。 在阅读了
我一直在努力使用 libsodium 中的 crypto_secretbox_easy() 来加密/解密一些数据。 .我似乎找不到任何关于用法的好文档。 我想从用户那里得到一个密码,用它来生成一个 k
我正在使用以下函数使用 libsodium 创建一个密封盒: void encrypt_message(char *msg, char *enc_msg, int db_id) { unsig
我想知道为 crypto_stream_salsa20_xor 提供与明文和密文相同的缓冲区是否安全。我试图查看源文件。 crypto_stream_salsa20_xor使用了crypto_core
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
我计划将一堆记录存储在一个文件中,然后用 libsodium 对每个记录进行签名。 .但是,我希望我的程序的 future 版本能够检查当前版本所做的签名,反之亦然。 对于当前版本的钠,签名是使用 E
我正在使用 libsodium 通过 xchacha20poly1305 结构加密文件。我按照文档 (https://download.libsodium.org/doc/secret-key_cry
我正在查看 libsodium,特别是对称加密选项 XChaCha20-Poly1305 .我无法理解的是,libsodium 似乎没有提供加密库中常见的“上下文/更新/最终确定”工作方式。 从 li
我正在尝试安装 libsodium(按照本指南 https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsod
我是一名优秀的程序员,十分优秀!