EncryptServ.js 900 Bytes
angular.module('EncryptServ', [])
    .service('EncryptServ', 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;
    });