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編碼過...