如何检查加载的Javascript代码的完整性

Ian*_*ton 5 javascript

我运行比特币钱包,使用浏览器端Javascript来加密和解密比特币密钥.

我想在github上对javascript进行详细审查,然后从github存储库加载javascript.

我的问题是我需要检查加载的Javascript的完整性,以确保在Github没有被篡改.

我该怎么做才能做到最好?它会是什么样的.

  1. 使用ajax调用加载远程Javascript.
  2. MD5哈希和比较.
  3. 如果处于良好状态执行它.

Dmi*_*ryK 6

现在(或很快将)有一种优雅的方式来实现这一目标(提出问题两年后)。

http://www.w3.org/TR/SRI/

您现在可以在脚本标签内指定“完整性”参数:

<script src="https://github.com/<path>/yourscript.js"
        integrity="sha256-SDf......">
Run Code Online (Sandbox Code Playgroud)

这不适用于通过 AJAX 请求加载的脚本。但是您可以潜在地将脚本引用为指向 CDN 的脚本标签(最好不要直接在 github 上)