基于crypto-js的base64编码器

12

我想将数字编码为字符。

  • 如何在输出中进行base64编码?

代码:

const CryptoJS = require('crypto-js');

function msg() {
  return '7543275'; // I want to encrypt this number to character
}

const msgLocal = msg();

// Encrypt
const ciphertext = CryptoJS.AES.encrypt(msgLocal, 'password');

// Decrypt
const bytes = CryptoJS.AES.decrypt(ciphertext.toString(), 'password');
const plaintext = bytes.toString(CryptoJS.enc.Utf8);

console.log(plaintext);
1个回答

31

已解决。

const CryptoJS = require('crypto-js');

// OUTPUT
console.log(encode()); // 'NzUzMjI1NDE='
console.log(decode()); // '75322541'

function encode() {
  // INIT
  const myString = '75322541'; // Utf8-encoded string

  // PROCESS
  const encodedWord = CryptoJS.enc.Utf8.parse(myString); // encodedWord Array object
  const encoded = CryptoJS.enc.Base64.stringify(encodedWord); // string: 'NzUzMjI1NDE='
  return encoded;
}

function decode() {
  // INIT
  const encoded = 'NzUzMjI1NDE='; // Base64 encoded string

  // PROCESS
  const encodedWord = CryptoJS.enc.Base64.parse(encoded); // encodedWord via Base64.parse()
  const decoded = CryptoJS.enc.Utf8.stringify(encodedWord); // decode encodedWord via Utf8.stringify() '75322541'
  return decoded;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接