0

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 を見ている人からそのキーを隠しますか? または、この暗号化をより安全にする他の方法。

4

1 に答える 1