• 前端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
  • 相关阅读:
    开源BaaS平台Supabase介绍
    谱瑞PS186|替代PS186方案|TypeC转HDMI4K视频转换方案设计
    如何优雅部署OpenStack私有云II--异常处理记录
    报错The chromedriver version cannot be discovered以及下载chromedriver.exe和查看其版本的命令
    64 ---- 平面与直线的位置关系
    Gavin Wood 演讲全文:建设更具韧性以应变化的 Polkadot
    DBSync数据库同步工具
    Unity Joint用法及案例
    doc文件乱码怎么恢复?
    【Vue】修饰符&表单提交方式&自定义组件
  • 原文地址:https://blog.csdn.net/weixin_47000834/article/details/134004510