前端加密 crypto 的使用方法和說明

2021-10-08 07:49:55 字數 1585 閱讀 4508

crypto模組提供了加密功能,包含對 openssl 的雜湊、hmac、加密、解密、簽名、以及驗證功能的一整套封裝。我們這裡講crypto aes演算法加密

一、使用步驟

1.引入crypto

1.1   使用crypto,有兩種形式。一種是是在script便簽直接引入,例如:

1.2  還有一種通過npm安裝cryptojs,例如:

npm install crypto-js

1.2.1  如果是通過npm安裝,需要引入,**如下:

import cryptojs from 'crypto-js/crypto-js'

2.開始編寫邏輯**

安裝完成後,你根據自己的需求對需要加密的資料進行加密。

二、如何加密

第一種,先上**:

//aes加密 encrypt (word) ); } else if (typeof(word) == 'object') ) } return encrypted.ciphertext.tostring(); } },

**講解:

這裡的資料可以用兩種資料格式,一種是字串,一種是物件。然後我們對資料進行處理然後再根據自己定義的秘鑰和向量呼叫aes演算法進行加密。

第二種,先上**:

encryption (data) strs.sort(); // 陣列排序 strs=strs.join('&'); // 陣列變字串 let enddata=strs+'&sign='+cryptojs.md5(strs+'adfj3kcadc2349akvm1cpffcd84f') .tostring(); // md5加密 let key = cryptojs.enc.utf8.parse("0880076b18d7ee81"); // 加密秘鑰 let iv = cryptojs.enc.utf8.parse("cb3ec842d7c69578"); // 向量 let encryptresult = cryptojs.aes.encrypt(enddata,key, ); return encodeuricomponent(cryptojs.enc.base64.stringify(encryptresult.ciphertext)); // base64加密再 encode; }

**講解:

首先我們將資料進行排序,然後將排序好的資料進行md5加密作為介面的簽名,接著將排好序的資料和介面簽名拼接上進行aes加密,倒數第二步,將aes加密後的密文進行base64加密,最後將最終的密文encodeuricomponent。

三、如何解密

1.後台返回的資料也是密文

2.後台返回的資料是json格式

**如下:

decryption(data) );

// 第一種 let resdata=decryptresult.tostring(cryptojs.enc.utf8).tostring(); return json.parse(resdata);

// 第二種

return cryptojs.enc.utf8.stringify(decryptresult) }

AES加密解密前端使用方法

npm install crypto jsimport cryptojs from crypto js var key cryptojs.enc.latin1.parse 秘鑰 秘鑰 後端提供 var iv cryptojs.enc.latin1.parse 常量 常量 後端提供 export de...

使用Crypto庫進行Python加密解密

pycrypto,pycrytodome和crypto是乙個東西,crypto在python上面的名字是pycrypto它是乙個第三方庫,但是已經停止更新三年了,所以不建議安裝這個庫 pycryptodome是pycrypto的延伸版本,用法和pycrypto 是一模一樣的 所以只需要安裝pycry...

前端加密方法

window.atob 與window.btoa 可以實現對base64格式的資料進行解碼和編碼,其相容性是主流瀏覽器,ie10及以上。window.atob encodedstr 只可以解碼用btoa方法編碼的字串。window.btoa 將ascii字串或二進位制資料轉換成乙個base64編碼過...