Distal cryptographic item using aes - symmetric encryption

rsa decryption methods described herein, for the front end projects react, vue, angular frame

 

1. 安装cryto-js:npm install crypto-js

2. RSA encryption and decryption functions: (CBC mode, base64 format, zeroPadding, 16 bits)

. 1 Import CryptoJS from 'Crypto-JS / JS-Crypto'
 2  
. 3  // Default If no KEY and iv 
. 4 const KEY = CryptoJS.enc.Utf8.parse ( "1234567890123456" );
 . 5 const = CryptoJS.enc IV. Utf8.parse ( '1234567890123456' );
 . 6  / * *
 . 7  * the AES encryption: returns a string key iv Base64 
 . 8   * / 
. 9 Export function encrypt (Word, keyStr, ivStr) {
 10    the let Key = KEY
 . 11    the let IV = IV
 12 is  
13 is    IF (keyStr) {
 14      Key = CryptoJS.enc.Utf8.parse (keyStr);
15     iv = CryptoJS.enc.Utf8.parse(ivStr);
16   }
17 
18   let srcs = CryptoJS.enc.Utf8.parse(word);
19   var encrypted = CryptoJS.AES.encrypt(srcs, key, {
20     iv: iv,
21     mode: CryptoJS.mode.CBC,
22     padding: CryptoJS.pad.ZeroPadding
23   });
24  // console.log("-=-=-=-", encrypted.ciphertext)
25   return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
26 
27 }
28 /**
29  * AES 解密 :字符串 key iv  返回base64 
30  *
31  */
32 export function Decrypt(word, keyStr, ivStr) {
33   let key  = KEY
34   let iv = IV
35 
36   if (keyStr) {
37     key = CryptoJS.enc.Utf8.parse(keyStr);
38     iv = CryptoJS.enc.Utf8.parse(ivStr);
39   }
40 
41   let base64 = CryptoJS.enc.Base64.parse(word);
42   let src = CryptoJS.enc.Base64.stringify(base64);
43 
44   var decrypt = CryptoJS.AES.decrypt(src, key, {
45     iv: iv,
46     mode: CryptoJS.mode.CBC,
47     padding: CryptoJS.pad.ZeroPadding
48   });
49 
50   var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
51   return decryptedStr.toString();
52 }

3. Use in the assembly:

. 1 Import The Decrypt {,} from Encrypt 'package just JS'
 2  
. 3  var parm1 The Decrypt = ( 'encrypted field' , Key, IV)
 . 4 the console.log ( 'field following encryption:' , parm1)
 . 5  
. 6  var parm2 = decrypt ( 'field of the decrypted' , Key, IV)
 . 7 the console.log ( 'after decryption fields:', parm2)

 

Note: The key preferably digital, or may be error (error code is reported that, in fact, the code no problem)

 

Guess you like

Origin www.cnblogs.com/songmengyao/p/12322394.html