EncryptServ.js 718 Bytes
angular.module('EncryptServ', []).service('EncryptService', ['$http',
  function ($http) {
    a = {
      encrypter: false,
      whenOk: function (cb) {
        if (this.encrypter) {
          cb();
        } else {
          this.prepare(cb);
        }
      },
      prepare: function (cb) {
        $http.get('/com/ci_com_pub.pem').success(function (key) {
          this.encrypter = new JSEncrypt();
          this.encrypter.setPublicKey(key);
          cb();
        });
      },
      preload: function(cb) {
        this.whenOk(cb);
      },
      encrypt: function (string, cb) {
        this.whenOk(function() {
          cb(this.encrypter.encrypt(string));
        });
      }
    };
    return a;
  }
]);