redux-persist-transform-encrypt と組み合わせて redux-persist を使用して、localstorage の redux ストアを暗号化しています。だから私は暗号化を次のように実装しました:
const encryptor = createEncryptor({
secretKey: 'my-super-secret-key',
onError: function(error) {
// Handle the error.
console.log(error);
}
});
const persistConfig: PersistConfig = {
key: 'citizentracker',
storage: storage,
blacklist: new Array('form'),
transforms: [encryptor]
};
すべてがうまく機能し、redux ストアはローカル ストレージで暗号化されます。私が気付いた問題は、webpack 4 を介して実稼働バンドルを実行するときです。bundle.js ファイルで、「secretKey」を検索するとキーの値を確認できます。私がやったとき、私はこれを見ることができました:
{secretKey:"my-super-secret-key",onError:function(e){console.log(e)}}
暗号化に使用するキーを生成する方法を知っている人はいますか?ソースで bundle.js を見ている人からそのキーを隠しますか? または、この暗号化をより安全にする他の方法。