JS与PHP使用AES加密信息

一、前言

        公司安全部门要求所有涉及登录信息的个人信息需要进行前端加密传输到后台处理,在网上到处寻找解决方案都失败告终,最后同事花了一天的时间来不断试错来研究前后台解密不一致问题。

二、前端实现

crypto-js 需要的可以去下载

const CryptoJS = require('crypto-js');  //引用AES源码js
const key = CryptoJS.enc.Utf8.parse("ysh425ptjhcpo781"); //十六位十六进制数作为密钥偏移量
const iv = CryptoJS.enc.Utf8.parse('53c5a64c6be84e97'); //十六位十六进制数作为密钥偏移量

    //加密
    function encrypt(text) {
        return CryptoJS.AES.encrypt(text, key, {
            iv: iv,
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        }).toString();
    }

    //解密
    function decrypt(text) {
        var result = CryptoJS.AES.decrypt(text, key, {
            iv: iv,
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        });
        return result.toString(CryptoJS.enc.Utf8)
    }

三、PHP实现

public function testAES()
    {
        $data = "123";
        $key = "ysh425ptjhcpo781";
        $iv = "53c5a64c6be84e97";
        $str = base64_encode(openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA , $iv));
        print_r($str);
    }

四、总结

        使用的代码就这么多是不是很简单,大家想更深入的了解AES加解密原理可以点击查看,谢谢大家的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_34701838

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值