crypto DES 的加密与解密

crypto DES 的加密与解密

最近在做一个类似举报功能的项目,其中需要对举报的内容及其他敏感信息进行des加密,因此接触并学习了一下,但是还是碰上一些坑(先在这里留一个坑吧,加密后的数据传到后端,然后在从后端取出来,内容并未变但是解密为空)

下面先直接上方法

首先要先安装crypto cnpm i crypto


// DES 加密

// message 为要加密内容
// key为秘钥必须为:8/16/32位
export const encryptByDES = (message, key="tranCode") => {
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}

//DES 解密
export const decryptByDES = (ciphertext, key="trancode") => {
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var decrypted = CryptoJS.DES.decrypt({
        ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
    }, keyHex, {
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
        });
    return decrypted.toString(CryptoJS.enc.Utf8);
}

欢迎指正,一起讨论学习

你可能感兴趣的:(杂学)