decide.nolog.cz/app/services/encryption.js
2023-10-15 20:37:03 +02:00

22 lines
531 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));
}
}