2015-10-25 19:38:14 +01:00
|
|
|
import Ember from 'ember';
|
|
|
|
import generatePassphrase from '../utils/generate-passphrase';
|
2016-09-20 01:44:29 +02:00
|
|
|
import sjcl from 'sjcl';
|
2015-10-25 19:38:14 +01:00
|
|
|
|
|
|
|
export default Ember.Service.extend({
|
|
|
|
key: null,
|
|
|
|
|
2015-10-29 12:50:00 +01:00
|
|
|
decrypt(value) {
|
|
|
|
return JSON.parse(
|
|
|
|
sjcl.decrypt(
|
|
|
|
this.get('key'),
|
|
|
|
value
|
|
|
|
)
|
|
|
|
);
|
|
|
|
},
|
|
|
|
|
|
|
|
encrypt(value) {
|
|
|
|
return sjcl.encrypt(
|
|
|
|
this.get('key'),
|
|
|
|
JSON.stringify(value)
|
|
|
|
);
|
|
|
|
},
|
|
|
|
|
2015-10-25 19:38:14 +01:00
|
|
|
generateKey() {
|
2016-01-28 23:48:14 +01:00
|
|
|
const passphraseLength = 40;
|
2015-10-25 19:38:14 +01:00
|
|
|
this.set('key', generatePassphrase(passphraseLength));
|
|
|
|
},
|
|
|
|
|
|
|
|
init() {
|
|
|
|
this._super(...arguments);
|
|
|
|
}
|
|
|
|
});
|