php字符串加密,js使用CryptoJS

后端加密

复制代码
<?php
function encryptString($data, $key) {
    $iv = openssl_random_pseudo_bytes(16);
    $encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
    $result = base64_encode($iv . $encrypted);
    return $result;
}

$key = "YourSecretKey"; // 替换为您自己的密钥
$data = "Hello, World!";
$encryptedData = encryptString($data, $key);

echo $encryptedData;
?>

前端解密:

crypto下载地址

https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.2.tgz

前端代码

复制代码
<script>
function decryptString(encryptedData, key) {
	const rawData = CryptoJS.enc.Base64.parse(encryptedData);
	const iv = CryptoJS.lib.WordArray.create(rawData.words.slice(0, 4));
	const ciphertext = CryptoJS.lib.WordArray.create(rawData.words.slice(4));

	const decrypted = CryptoJS.AES.decrypt(
		{ ciphertext },
		CryptoJS.enc.Utf8.parse(key),
		{ iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }
	);

	return decrypted.toString(CryptoJS.enc.Utf8);
}

const key = "YourSecretKey";
const u = decryptString("后端加密后的字符串", key);
</script>
相关推荐
m0_59133891几秒前
day8鹏哥C语言--函数
c语言·开发语言·算法
oplp5 分钟前
回过头来重新对C语言进行深度学习(一)
c语言·开发语言
oioihoii18 分钟前
C++中的多态:动态多态与静态多态详解
java·开发语言·c++
毕设源码-朱学姐29 分钟前
【开题答辩全过程】以 基于Java的医务室病历管理小程序为例,包含答辩的问题和答案
java·开发语言·小程序
APIshop39 分钟前
代码实战:PHP爬虫抓取信息及反爬虫API接口
开发语言·爬虫·php
kyle~1 小时前
C++---关键字constexpr
java·开发语言·c++
远航_1 小时前
10 个被严重低估的 JS 特性,直接少写 500 行代码
前端·javascript
小高0071 小时前
当前端面临百万级 API 请求:从"修 CSS 的"到架构师的进化之路
前端·javascript·面试
LateFrames1 小时前
使用 Winform / WPF / WinUI3 / Electron 实现异型透明窗口
javascript·electron·wpf·winform·winui3
Asort1 小时前
React类组件精要:定义机制与生命周期方法进阶教程
前端·javascript·react.js