React Native crypto AES CBC加密

CryptoJS.AES.decrypt解密值是base64编码!!!切记切记!坑死宝宝了

import CryptoJS from 'crypto-js';

let key = CryptoJS.enc.Utf8.parse('1234567890987654');
let iv = CryptoJS.enc.Utf8.parse("0987654321234567")

//解密方法
export const decrypt = (word) => {
    console.info('sss :' + word)
    let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
    console.info('sss2 :' + encryptedHexStr)
    let decrypt = CryptoJS.AES.decrypt(word, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    console.info(' decrypt str :' + decrypt)

    let decryptedStr = CryptoJS.enc.Utf8.stringify(decrypt);
    console.info(' decrypt :' + decryptedStr)
    return decryptedStr
}

//加密方法
export const encrypt = (word) => {
    // let srcs = CryptoJS.enc.Utf8.parse(word);
    let encrypted = CryptoJS.AES.encrypt(word, key, {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
    console.info(' encrypt :' + encrypted.ciphertext.toString())
    console.info(' encrypt encrypted:' + encrypted)
    return encrypted.toString();
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。