decide.nolog.cz/app/services/encryption.js
Jeldrik Hanschke c9482786c1
refactor to native ECMAScript classes (#344)
Replaces Ember's old object model by native ECMAScript classes. Mostly automated with ember-native-class-codemod.
2020-01-18 10:13:50 +01:00

30 lines
585 B
JavaScript

import classic from 'ember-classic-decorator';
import Service from '@ember/service';
import generatePassphrase from '../utils/generate-passphrase';
import sjcl from 'sjcl';
@classic
export default class EncryptionService extends Service {
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));
}
}