前端 aes 加密

本文详细介绍了AES加密算法的工作原理及使用CryptoJS库实现的CBC模式加密与解密过程。通过一个具体的HTML示例,展示了如何在前端进行AES加密和解密操作,包括密钥和初始化向量的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

aes加密算法原理:

https://blog.youkuaiyun.com/qq_28205153/article/details/55798628

加密模式介绍:

https://blog.youkuaiyun.com/jerry81333/article/details/78336616

 

aes加密依赖CryptoJS库

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="text" id="encrypt"/>
加密密文:<span id="enWord"></span><br/>
<input type="text" id="decrypt"/>
解密密文:<span id="deWord"></span><br/>
<button id="encryptClick">加密</button>
<button id="decryptClick">解密</button>
<script src="js/aes.js"></script>
<script>
    var aesObj={
        "key":CryptoJS.enc.Utf8.parse("abcdefgabcdefg12"),
        ivv:CryptoJS.enc.Utf8.parse("abcdefgabcdefg12"),
        //秘钥和偏移量和后台约定好
        "EnCode":function(str){
            var encrypted=CryptoJS.AES.encrypt(str,this.key,{
                iv:this.ivv,
                mode:CryptoJS.mode.CBC,
                padding:CryptoJS.pad.Pkcs7
            });
            return encrypted.toString();
        },

        "DeCode":function(str){
            var decrypted=CryptoJS.AES.decrypt(str,this.key,{
                iv:this.ivv,
                mode:CryptoJS.mode.CBC,
                padding:CryptoJS.pad.Pkcs7
            });
            return decrypted.toString(CryptoJS.enc.Utf8);
        }
    };

    var encryptBtn=document.getElementById("encryptClick");
    var decryptBtn=document.getElementById("decryptClick");
    var encryptTxt=document.getElementById("enWord");
    var decryptTxt=document.getElementById("deWord");
    encryptBtn.onclick=function(){
        var inputVal=document.getElementById("encrypt").value;
        var encryptStr=aesObj.EnCode(inputVal);

        encryptTxt.innerText=encryptStr;
    };

    decryptBtn.onclick=function(){
        var inputVal=document.getElementById("decrypt").value;

        var decryptStr=aesObj.DeCode(decodeURIComponent(inputVal));

        decryptTxt.innerText=decryptStr;
    }

</script>
</body>
</html>

下载地址:

https://pan.baidu.com/s/1w08UrTPkJuohHz6113R4Ew
提取码:gz7b
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值