Google端到端加密节点js

时间:2015-10-20 02:01:21

标签: javascript node.js end-to-end

我正在研究nodejs中的一些东西,我希望用

实现一些东西
  

https://github.com/google/end-to-end

但是当我得到编译版本时,它似乎不适用于nodejs,但它确实适用于浏览器

是否有任何nodeJs实现

  

https://github.com/google/end-to-end

可用?

1 个答案:

答案 0 :(得分:2)

是的,有一种方法可以在nodejs中使用它。这有点像黑客,但可以通过使用封闭方式加载它。

首先构建它,以便生成deps.js

cd end-to-end;
./do.sh build_library

然后你可以覆盖导入功能来完成加载库的工作。

require('./lib/closure-library/closure/goog/bootstrap/nodejs.js')

global.CLOSURE_IMPORT_SCRIPT = function(src) {
  var E2E_PATH = './';
  var CLOSURE_SOURCE = './lib/closure-library/closure/goog/';
  try {
    require(CLOSURE_SOURCE + src);
  } catch (err) {
    require(E2E_PATH + src);
  }
  return true;
}

require('./build/deps.js');
goog.require('e2e.openpgp.asciiArmor');

console.log(e2e.openpgp.asciiArmor.encode('MESSAGE', e2e.stringToByteArray('test')));

更新:我添加了一个包来执行此操作:https://www.npmjs.com/package/e2enode