最近では、プロジェクトが暗号化される必要があり、使用される暗号化方式はAES-256-CBCモードであるインタフェースです。インターネットの情報の多くを見つけるだけでなく、長い時間をトスします。最後に何とか。これによって記録しました。
まず、暗号JSをインストールします。NPMインストール暗号JS --save
そして、暗号化と復号化のための2つのメソッドを定義します。ここで私はcryptoJS.jsに名前を付けます。utilsのフォルダを入れてください。具体的なコードは次のよう:
インポート「JS-暗号」からCryptoJS ; / * * * *最初のパラメータは、文字列を暗号化または復号化するための言葉である。 * keyStr 2番目のパラメータは、暗号化されたAESのキー16桁の文字列で使用する必要があります。 *の3つのパラメータは、初期化ベクトルIVです。 * / エクスポートデフォルト{ // 暗号化する 暗号化(ワード、keyStr、ivStr){ キーCONST = CryptoJS.enc.Latin1.parseを(keyStr); CONST IV = CryptoJS.enc.Latin1.parse(ivStr); constの符号化 = CryptoJS。 AES.encrypt(ワード、キー、{ IV:IV、 MODE:CryptoJS.mode.CBC、 追加:CryptoJS.pad.ZeroPaddingを })のtoString() リターンコードされます。 } // 解密 解読(ワード、keyStr、ivStr){ keyStr = keyStr。 ivStr = ivStr。 VaRのキー= CryptoJS.enc.Utf8.parse(keyStr)。 聞かせてIV = CryptoJS.enc.Utf8.parse(ivStr)。 VAR解読= CryptoJS.AES.decrypt(ワード、キー、{ IV、 モード:CryptoJS.mode.CBC、 パディング:CryptoJS.pad.ZeroPadding })。 リターンdecrypt.toString(CryptoJS.enc.Utf8)。 } }。
そして、あなたは最初のcryptoJS.jsファイルで導入されたそのファイルの暗号化方式を使用する必要があります。以下のような:「../utils/CryptoJS」からインポートCryptoJS
使用する場合://データはcryData = CryptoJS.encrypt(paramsEncode、keyStr、ハッシュ)を聞かせて暗号化されています。前記paramsEncodeが必要とされているデータを、一貫性のあるkeyStrキーを暗号化し、暗号化に使用されるサーバは、ハッシュが相殺され、ランダムに生成された16ビットの文字列です。サーバーを暗号化する暗号化された、機能と一緒にサーバにオフセットデータ送信要求を渡す必要があります。
ランダムな文字列を生成する方法:
ランダム=一定{ randomString(LEN){ LEN = LEN || 32 ; のvar $の文字= 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; / * ***デフォルト取り除か混乱文字oOLl、9gq、VV、Uuと、I1 *** * / VAR maxPos = $ chars.length; VAR PWD = '' ; のために(varは I = 0; I <LEN; I ++ ){ PWD + = $ chars.charAt(Math.floor(Math.random()* maxPos)); } 戻りPWD; } } エクスポートデフォルトランダム