数据安全之AES前端加密_网络编程_奇迪科技(深圳)有限公司(www.qvdv.net)

欢迎来到奇迪科技(深圳)有限公司,超值服务提供卓越产品!

网络编程

数据安全之AES前端加密

作者:qvdv 来源: 更新时间:2022-09-08

为了安全,应该尽可能避免敏感数据以明文的形式传输,例如登录页面的密码,不应该直接发送到服务器,而是应该在前端就先进行加密处理,然后再传输到服务器,这样就可以避免被“中间人”截获到密码明文,在一定程度上保证了密码的安全。

加密的方式很多,例如:AES、MD5、SHA等,这里以AES为例介绍如何前端加密密码。

前端加密JS代码:(需要用到开源的aes.js库,需要自行网上搜索、下载)

<script src="/public/js/aes.js"></script>
<script>
var password="123456";//需要加密的密码明文
var key = CryptoJS.enc.Utf8.parse("opkioijikolpoijkiuj");
var iv = CryptoJS.enc.Utf8.parse("1234567890123456");
var encrypted = CryptoJS.AES.encrypt(password, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
//得到加密后的密码密文
password=encrypted.toString();
</script>

得到加密的密文后,再传输到服务器后台处理,这就解决了明文传输容易别截获的问题。

*备注:

AES可逆加密算法,服务端后台收到密文后,可以将其解密得到原始字符,以PHP代码为例:

<?php
$str='MsKU3O+O0LXPohuzepm9Hg==';//经过AES算法加密的密文
$key='opkioijikolpoijkiuj';//加解密的密钥,要和加密时使用的一致。
$iv='1234567890123456';//加解密的向量,要和加密时使用的一致。
echo openssl_decrypt($str, ’AES-256-CBC’,$key , 0,$iv);//解密后得到的明文是:123456
?>


本文版权所有,转载须注明:来源  https://www.qvdv.net/qvdv-oop-883.html