Inflearn コミュニティ Q&A
피니아 persist 질문드립니다!
作成
·
172
0
안녕하세요 짐코딩님,
강의 잘 듣고 있습니다!
강의 듣다가 궁금한게 있어서 질문드려요!
피니아 persist 사용하면서 localStorage 또는 sessionStorage에 저장할 때 암호화해서 저장하는 방법이 있을까요?
vue.jsnuxt.jspiniavue-3
回答 1
2
gymcoding
インストラクター
Pinia persist에서 데이터를 암호화하기 위해서는 persist 플러그인의 serializer 옵션을 참고할 수 있습니다. 예를 들면:
import { defineStore } from 'pinia'
import CryptoJS from 'crypto-js'
const ENCRYPT_KEY = 'your-secret-key'
export const useUserStore = defineStore('user', {
state: () => ({
name: '',
email: ''
}),
persist: {
storage: localStorage,
serializer: {
serialize: (state) => {
return CryptoJS.AES.encrypt(JSON.stringify(state), ENCRYPT_KEY).toString()
},
deserialize: (state) => {
const decrypted = CryptoJS.AES.decrypt(state, ENCRYPT_KEY).toString(CryptoJS.enc.Utf8)
return JSON.parse(decrypted)
}
}
}
})이와 같이 참고할 수 있고요.
아래 링크는 참고 링크입니다.






감사합니다!