decide.nolog.cz/app/services/encryption.js
2018-12-31 10:17:03 +01:00

32 lines
555 B
JavaScript

import Service from '@ember/service';
import generatePassphrase from '../utils/generate-passphrase';
import sjcl from 'sjcl';
export default Service.extend({
key: null,
decrypt(value) {
return JSON.parse(
sjcl.decrypt(
this.key,
value
)
);
},
encrypt(value) {
return sjcl.encrypt(
this.key,
JSON.stringify(value)
);
},
generateKey() {
const passphraseLength = 40;
this.set('key', generatePassphrase(passphraseLength));
},
init() {
this._super(...arguments);
}
});