c9482786c1
Replaces Ember's old object model by native ECMAScript classes. Mostly automated with ember-native-class-codemod.
30 lines
585 B
JavaScript
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));
|
|
}
|
|
}
|