decide.nolog.cz/app/services/encryption.js

31 lines
585 B
JavaScript
Raw Normal View History

import classic from 'ember-classic-decorator';
2018-12-29 01:27:37 +01:00
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(
2018-12-29 20:35:04 +01:00
this.key,
value
)
);
}
encrypt(value) {
return sjcl.encrypt(
2018-12-29 20:35:04 +01:00
this.key,
JSON.stringify(value)
);
}
generateKey() {
2016-01-28 23:48:14 +01:00
const passphraseLength = 40;
this.set('key', generatePassphrase(passphraseLength));
}
}