| 123456789101112131415161718192021222324252627282930313233343536 |
- import CryptoJS from 'crypto-js'
- class CryptToJS {
- private crypt: typeof CryptoJS
- private secret: string
- private key: CryptoJS.lib.WordArray
- private iv: CryptoJS.lib.WordArray
- constructor() {
- this.crypt = CryptoJS
- this.secret = 'Believe in yourself.'
- this.key = CryptoJS.enc.Utf8.parse(this.secret)
- this.iv = CryptoJS.enc.Utf8.parse(this.secret.slice(0, 16))
- }
- public encrypt(text: string): string {
- const encrypted = this.crypt.AES.encrypt(text, this.key, {
- iv: this.iv,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.Pkcs7
- })
- return encrypted.toString()
- }
- public decrypt(text: string): string {
- if (!text) return ''
- const decrypted = this.crypt.AES.decrypt(text, this.key, {
- iv: this.iv,
- mode: CryptoJS.mode.CBC,
- padding: CryptoJS.pad.Pkcs7
- })
- return decrypted.toString(CryptoJS.enc.Utf8)
- }
- }
- export default new CryptToJS()
|