• 前端Ase加解密方法及应用


    前端Ase加解密方法及应用

    一、背景和意义

    随着互联网的快速发展,数据安全问题日益受到关注。前端作为用户交互的主要界面,往往需要处理敏感数据,如用户个人信息、支付信息等。为了保护这些数据不被非法获取和篡改,前端加密技术应运而生。Aes(Advanced Encryption Standard)是一种广泛使用的对称加密算法,具有较高的安全性,适用于前端加密需求。

    二、Aes加密算法简介

    Aes是一种块加密算法,采用分组加密的方式对数据进行加密和解密。它将数据分成若干个固定长度的块,然后对每个块进行加密或解密。Aes算法具有较高的安全性,已被美国国家标准与技术研究院(NIST)定为美国的加密标准。

    三、前端Aes加解密方法实现步骤及代码示例

    1、引入Aes加解密库

    在前端实现Aes加解密,需要引入专门的Aes加解密库。目前,有许多开源的Aes加解密库可供选择,如CryptoJS、Crypto-JS等。以CryptoJS为例,可以通过npm或yarn进行安装。

    npm install crypto-js
    
    • 1

    2、准备密钥

    在加密前,需要准备一个密钥。密钥可以是任意长度的字符串,但必须是16位、24位或32位的整数倍。在前端,可以使用随机数生成器生成一个随机密钥。

    3、封装方法

    const key = CryptoJS.enc.Utf8.parse("Sasdfasfasf"); // 作为密钥
    const iv = CryptoJS.enc.Utf8.parse("asdfasfasdfasdf"); // 作为密钥偏移量
    // aes加密
     export const aes_encrypt = word => {
      let srcs = CryptoJS.enc.Utf8.parse(word);
      let encrypted = CryptoJS.AES.encrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
      });
      return encrypted.ciphertext.toString().toUpperCase();
    };
    // aes解密
    export const aes_decrypt = word => {
      let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
      let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
      let decrypt = CryptoJS.AES.decrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
      });
      let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
      return decryptedStr.toString();
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
  • 相关阅读:
    【导航】嵌入式 Linux 学习专栏目录 【快速跳转】
    【shell】 1、bash语法超详细介绍
    javaEE高阶---Spring核心与设计思想
    合并word中参考文献-(Endnote生成)
    Win10修改MySql 8.0的配置文件
    Spring Cloud 架构
    反射
    Trino 387 Docker 部署配置数据源后不显示对应数据Catalog
    SNMP 网络协议介绍
    Win11任务栏太宽了怎么变窄?Win11任务栏宽度调整方法
  • 原文地址:https://blog.csdn.net/weixin_47000834/article/details/134004510