最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

jquery - How to encrypt or decrypt string in javascript - Stack Overflow

programmeradmin7浏览0评论

I want to encrypt and decrypt string in javascript using following code.But i got crypto js is not defined.

var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
<script src=".1.2/rollups/aes.js"></script>

I want to encrypt and decrypt string in javascript using following code.But i got crypto js is not defined.

var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
<script src="https://cdnjs.cloudflare./ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

Share Improve this question edited May 21, 2018 at 12:57 Rory McCrossan 338k41 gold badges320 silver badges351 bronze badges asked May 21, 2018 at 12:53 PRIYANKA MOREPRIYANKA MORE 571 gold badge1 silver badge6 bronze badges 4
  • 2 Is the script tag for cryptojs before your javascript? – meyi Commented May 21, 2018 at 12:55
  • you need to convert it to tostring – Ankita Commented May 21, 2018 at 12:57
  • I placed your logic in a snippet where it appears to work (although the response appears to be objects not strings). Check to ensure you're including the crypto script in the page before you run your own logic. – Rory McCrossan Commented May 21, 2018 at 12:58
  • You're not working with the responses from the method calls properly. See the AES section of the documentation about 2/3 of the way down this page: github./brix/crypto-js – Rory McCrossan Commented May 21, 2018 at 13:00
Add a ment  | 

3 Answers 3

Reset to default 11

Works fine for me.

JSFiddle: https://jsfiddle/xbk736br/

// Encrypt
var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123');

// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoJS.enc.Utf8);

console.log(plaintext);
<script src="https://cdnjs.cloudflare./ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

If you are building a react or nodejs app, you can simply use this library ncrypt-js to encrypt and decrypt your data.

See example on codesandbox

usage:

es5

var ncrypt = require('ncrypt-js'); // or var { encrypt, decrypt } = require('ncrypt-js);

let encryptData = ncrypt.encrypt('super secret data', 'secret_key');
// or
// let encryptData = encrypt('super secret data', 'secret_key');

console.log(encryptData); // 11ab949601eb136f58ac3fe846e30d76.f9ce133b20adc35eef32af95957547abbb6fbfc5cb91cd14f5b0a088bd031883963cde1a56fd62fe2aeb75451a065d21
var decryptedData = ncrypt.decrypt(encryptData);
// or
// var decryptedData = decrypt(encryptData);

console.log(decryptedData); // super secret data

es6

import ncrypt from 'ncrypt-js'; // or import { encrypt, decrypt } from 'ncrypt-js';

const encryptData = ncrypt.encrypt('super secret data', 'secret_key');
// or
// const encryptData = encrypt('super secret data', 'secret_key');

console.log(encryptData); // 11ab949601eb136f58ac3fe846e30d76.f9ce133b20adc35eef32af95957547abbb6fbfc5cb91cd14f5b0a088bd031883963cde1a56fd62fe2aeb75451a065d21
const decryptedData = ncrypt.decrypt(encryptData);
// or
// const decryptedData = decrypt(encryptData);

console.log(decryptedData); // super secret data

encrypted.toString() will return the correct string value.

var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase");
alert(encrypted.toString());
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase");
<script src="https://cdnjs.cloudflare./ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

发布评论

评论列表(0)

  1. 暂无评论