PHP如何加密和解密数据_PHP数据加密与解密的算法和实践

答案是AES-256-GCM最安全高效,因其提供机密性与完整性验证;密钥应通过环境变量或KMS管理,IV需每次随机生成且不重复,避免硬编码和ECB等不安全模式,优先使用OpenSSL扩展和password_hash()函数。

php如何加密和解密数据_php数据加密与解密的算法和实践

PHP中要实现数据加密和解密,核心思路是利用成熟的加密算法库,最推荐且业界广泛使用的是

OpenSSL

扩展。这不仅涉及到选择合适的对称(如AES)或非对称(如RSA)算法,更关键的是理解其背后的原理、密钥管理以及初始化向量(IV)的正确使用,以确保数据的机密性、完整性和可用性。

解决方案

在PHP中处理数据加密和解密,我通常会倾向于使用

OpenSSL

扩展,因为它提供了对多种标准加密算法的封装,稳定且经过严格的安全审查。对于一般的数据存储或传输加密,对称加密算法如AES是首选,特别是带有认证模式的AES-GCM,因为它不仅加密数据,还提供数据完整性校验,防止篡改。

1. 对称加密(AES-256-GCM)

对称加密使用同一个密钥进行加密和解密。这使得它在处理大量数据时效率很高,但密钥的安全分发和管理就成了核心挑战。

立即学习“PHP免费学习笔记(深入)”;

选择算法和模式: 我个人非常推荐

AES-256-GCM

AES-256

代表使用256位的密钥长度,安全性足够。

GCM

(Galois/Counter Mode)是一种认证加密模式,它在加密的同时生成一个认证标签(Authentication Tag),可以验证数据在传输或存储过程中是否被篡改。这比单纯的CBC模式安全得多。

生成密钥: 密钥必须是足够随机且长度匹配算法要求的。对于AES-256,需要32字节(256位)的密钥。

$key = openssl_random_pseudo_bytes(32); // 32字节密钥 for AES-256// 注意:实际应用中,密钥绝不能硬编码,应从安全配置、环境变量或KMS中获取。

生成初始化向量(IV): IV必须是随机的,并且每次加密都应不同。但它不需要保密,可以和密文一起存储或传输。GCM模式下的IV通常是12字节(96位)。

$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-gcm'));

加密数据: 使用

openssl_encrypt

函数。

$plaintext = "这是我需要加密的敏感数据,比如用户邮箱或支付信息。";$cipher = 'aes-256-gcm';$tag = null; // GCM模式会通过引用返回认证标签$ciphertext = openssl_encrypt($plaintext, $cipher, $key, OPENSSL_RAW_DATA, $iv, $tag);if ($ciphertext === false) {    // 处理加密失败的情况,这通常意味着算法或密钥有问题    echo "加密失败: " . openssl_error_string();    exit;}// 将IV、密文和认证标签一起存储或传输// 通常会进行Base64编码以便存储在数据库或URL中$encryptedData = base64_encode($iv . $tag . $ciphertext);echo "加密后的数据 (Base64编码): " . $encryptedData . "n";

解密数据: 使用

openssl_decrypt

函数,并传入之前得到的认证标签进行验证。

// 从存储中获取加密数据并解码$decodedData = base64_decode($encryptedData);// 提取IV、Tag和密文$ivLength = openssl_cipher_iv_length($cipher);$tagLength = 16; // GCM模式通常是16字节的Tag$iv = substr($decodedData, 0, $ivLength);$tag = substr($decodedData, $ivLength, $tagLength);$ciphertextWithTag = substr($decodedData, $ivLength + $tagLength); // 这里的$ciphertextWithTag实际上就是原始的$ciphertext$decryptedPlaintext = openssl_decrypt($ciphertextWithTag, $cipher, $key, OPENSSL_RAW_DATA, $iv, $tag);if ($decryptedPlaintext === false) {    // 解密失败,可能密钥不正确、数据被篡改或IV/Tag不匹配    echo "解密失败: " . openssl_error_string();} else {    echo "解密后的数据: " . $decryptedPlaintext . "n";}

2. 非对称加密(RSA)

非对称加密使用一对密钥:公钥和私钥。公钥用于加密,私钥用于解密(或反之用于数字签名)。它主要用于密钥交换、数字签名或加密少量数据。

生成密钥对:

$config = [    "digest_alg" => "sha512",    "private_key_bits" => 2048, // 推荐2048位或更高    "private_key_type" => OPENSSL_KEYTYPE_RSA,];$res = openssl_pkey_new($config);// 提取私钥openssl_pkey_export($res, $privateKey);// 提取公钥$publicKey = openssl_pkey_get_details($res)["key"];echo "私钥:n" . $privateKey . "n";echo "公钥:n" . $publicKey . "n";// 注意:私钥必须极其保密,公钥可以公开。

加密数据(使用公钥):

$plaintext = "这是要通过RSA加密的短消息。"; // RSA适合加密少量数据$encrypted = '';openssl_public_encrypt($plaintext, $encrypted, $publicKey);echo "RSA加密后的数据 (Base64编码): " . base64_encode($encrypted) . "n";

解密数据(使用私钥):

$decrypted = '';openssl_private_decrypt($encrypted, $decrypted, $privateKey);echo "RSA解密后的数据: " . $decrypted . "n";

3. 哈希(密码存储)

虽然哈希不是加密,但它在数据安全中扮演着至关重要的角色,尤其是在密码存储方面。哈希是单向的,不可逆。

推荐:

password_hash()

password_verify()

PHP内置的这两个函数是处理密码的黄金标准,它们使用了强大的算法(如Argon2或bcrypt),并自动处理盐值(salt)和迭代次数。

$password = "MySuperSecretPassword123!";$hashedPassword = password_hash($password, PASSWORD_ARGON2ID); // 推荐使用ARGON2IDecho "哈希后的密码: " . $hashedPassword . "n";// 验证密码if (password_verify($password, $hashedPassword)) {    echo "密码验证成功!n";} else {    echo "密码验证失败。n";}

PHP数据加密时,选择哪种算法最安全高效?

坦白说,选择加密算法不是“越复杂越好”,而是要“适合场景且实现正确”。我个人在PHP项目中,如果需要对大量数据进行加密存储或传输,比如数据库字段、API请求体等,会毫不犹豫地选择AES-256-GCM

为什么是它?首先,AES(Advanced Encryption Standard)是目前国际上公认的、安全性极高的对称加密算法,256位的密钥长度提供了足够的抗暴力破解能力。其次,GCM(Galois/Counter Mode)模式是关键。它不仅加密数据(提供机密性),还提供了认证加密(Authenticated Encryption)功能。这意味着,GCM模式会生成一个认证标签(Authentication Tag),在解密时可以验证数据是否在传输或存储过程中被恶意篡改。这对于防止中间人攻击和数据完整性破坏至关重要。单纯的CBC模式虽然也加密,但它无法有效防止密文被篡改,一旦密文被修改,解密后可能会得到看似合法但实际上错误的数据,这在安全领域是一个大忌。

对于少量数据(例如对称加密密钥、会话令牌等)的交换,或者需要数字签名的场景,RSA非对称加密是更合适的选择。它的优点在于公钥可以公开,而私钥保密,使得通信双方无需预先共享密钥就能建立安全通道。但RSA的计算开销远大于AES,不适合直接加密大量数据。通常的做法是,用RSA加密一个随机生成的AES密钥,然后用这个AES密钥加密实际数据。

至于密码存储,这和数据加密是两个完全不同的概念。密码是需要哈希(Hash)而不是加密的,因为哈希是单向不可逆的。在PHP中,我强烈建议使用内置的

password_hash()

函数,它默认支持Argon2(目前被认为是最好的密码哈希算法之一)或bcrypt。这些算法设计之初就考虑到了抗暴力破解和彩虹表攻击,通过引入盐值(salt)和计算开销(cost factor)来大大增加破解难度。自己手写SHA-256或MD5来哈希密码是极其危险且过时的做法。

总结一下:

大量数据加密/存储: AES-256-GCM密钥交换/数字签名/少量数据加密: RSA密码存储:

password_hash()

(使用Argon2或bcrypt)

高效性方面,对称加密(AES)通常比非对称加密(RSA)快得多,尤其是在处理大数据量时。所以,在选择时,安全性和效率的平衡点往往落在AES-GCM上。

在PHP中,如何安全地处理加密密钥和初始化向量(IV)?

这绝对是加密实践中最容易出错,也最关键的一环。一个再强大的加密算法,如果密钥和IV处理不当,那都是形同虚设。我个人认为,对这两者的安全管理,其重要性甚至超过了算法本身。

1. 加密密钥(Key)的安全处理:

密钥是加密操作的“钥匙”,一旦泄露,所有被该密钥加密的数据都将门户大开。

绝不硬编码: 这是最基本的原则。把密钥写死在代码里,意味着任何能访问到代码的人都能拿到密钥。使用环境变量: 这是我最常用的方法之一。在服务器的环境变量中设置密钥,PHP代码通过

getenv('YOUR_ENCRYPTION_KEY')

来获取。这样,密钥不会出现在代码库中,也不会在版本控制系统中。配置文件(但要谨慎): 如果必须通过文件存储,确保文件权限设置极其严格,只有Web服务器用户才能读取。而且,这个文件不应该在Web可访问的目录下,并且要排除在版本控制之外。但我个人更倾向于环境变量。密钥管理服务(KMS): 对于大型或高安全要求的应用,可以考虑使用云服务商提供的KMS(如AWS KMS, Azure Key Vault, Google Cloud KMS)。这些服务专门用于安全地存储和管理加密密钥,并提供API接口让应用按需获取密钥,且通常有审计日志。密钥生成: 密钥必须是足够随机的。

openssl_random_pseudo_bytes()

是生成加密安全随机字节的好方法。不要自己尝试“发明”密钥生成逻辑。密钥轮换: 定期更换密钥是良好的安全实践。这能限制一旦密钥泄露可能造成的影响范围和时间窗口。

2. 初始化向量(IV)的安全处理:

IV虽然不需要保密,但它必须满足两个关键要求:

每次加密操作都必须是唯一的: 这是为了防止相同的明文在加密后产生相同的密文。如果IV重复使用,攻击者可以通过分析密文模式来推断明文信息,甚至进行重放攻击。必须是随机的且不可预测的: 同样是为了增加攻击者分析的难度。

如何正确处理IV:

生成方式: 始终使用加密安全的随机数生成器来生成IV,例如

openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher))

存储和传输: IV可以与密文一起存储或传输,因为它的作用是让加密过程随机化,而不是保密。通常的做法是,将IV拼接在密文的前面,或者作为密文的一部分一起进行Base64编码。在解密时,先从加密数据中分离出IV,再进行解密。

// 加密时:$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($cipher));$ciphertext = openssl_encrypt($plaintext, $cipher, $key, OPENSSL_RAW_DATA, $iv, $tag);$encryptedData = base64_encode($iv . $tag . $ciphertext); // IV, Tag, Ciphertext 拼接后编码// 解密时:$decodedData = base64_decode($encryptedData);$iv = substr($decodedData, 0, $ivLength);$tag = substr($decodedData, $ivLength, $tagLength);$ciphertextWithTag = substr($decodedData, $ivLength + $tagLength);// ... 然后用提取的IV和Tag进行解密

绝不重复使用: 我见过一些开发者为了“方便”,把IV写死或者每次都用一个固定的值,这是极其危险的错误。请务必每次加密都生成新的随机IV。

安全处理密钥和IV是加密系统健壮性的基石。忽视它们,就像给宝库装了最坚固的门,却把钥匙随意丢在门口一样。

PHP数据加密解密过程中,常见的错误和安全漏洞有哪些,如何避免?

在PHP中进行数据加密解密,虽然有

OpenSSL

这样的强大工具,但实际操作中依然容易踩坑,甚至引入严重的安全漏洞。我个人在审查代码或调试问题时,经常会遇到以下一些常见错误:

1. 密钥管理不当:

错误: 密钥硬编码在代码中,或者存储在Web可访问的配置文件中,权限设置不当。漏洞: 一旦代码库泄露或服务器被入侵,密钥就会暴露无遗,所有加密数据形同明文。避免: 使用环境变量、密钥管理服务(KMS)或权限严格受限且不在Web根目录下的安全文件来存储密钥。定期轮换密钥。

2. IV(初始化向量)重复使用或不随机:

错误: 每次加密都使用固定的IV,或者使用弱随机数生成器(如

rand()

)来生成IV。漏洞: 如果IV重复使用,相同的明文会产生相同的密文,攻击者可以通过观察密文模式来推断明文信息,甚至进行重放攻击。对于某些加密模式(如CBC),重复使用IV可能导致密文可预测,从而被解密。避免: 始终使用

openssl_random_pseudo_bytes()

来生成加密安全的、唯一的、随机的IV。IV不需保密,但必须是每次加密都不同的。

3. 使用不安全的加密模式(例如ECB):

错误: 某些开发者可能不了解加密模式的区别,随意选择或默认使用ECB(Electronic Codebook)模式。漏洞: ECB模式直接将明文块独立加密成密文块,相同的明文块会产生相同的密文块。这会导致密文泄露明文的模式信息。一个经典的例子是,用ECB加密一张图片,密文图片仍然能看出原图的轮廓。避免: 绝不使用ECB模式。对于对称加密,推荐使用带有认证功能的模式,如AES-256-GCM。如果不支持GCM,CBC模式结合HMAC(消息认证码)也是一种选择,但GCM更优。

4. 缺乏数据完整性验证(未认证加密):

错误: 只对数据进行加密,但没有验证密文是否被篡改。例如,只使用AES-CBC加密,而没有额外的HMAC校验。漏洞: 攻击者可以篡改密文,即使无法解密,也可能通过修改密文来改变解密后的明文,导致应用逻辑出错或被利用。避免: 优先使用认证加密(Authenticated Encryption)模式,如AES-GCM。它在加密的同时生成一个认证标签,解密时会验证数据完整性。如果使用CBC等非认证模式,务必额外添加HMAC来验证数据的完整性。

5. 滚动自己的加密算法(Rolling Your Own Crypto):

错误: 尝试自己实现加密算法或加密流程,而不是使用成熟、经过严格审计的库(如

OpenSSL

)。漏洞: 加密算法和协议的设计极其复杂且充满陷阱,非专业人士很难实现正确且安全的加密。即使是微小的实现错误也可能导致灾难性的安全漏洞。避免: 永远使用

OpenSSL

扩展提供的函数。不要相信自己的“小聪明”能设计出比专业密码学家更安全的加密方案。

6. 混淆哈希与加密:

错误: 试图“解密”哈希值,或者用简单的哈希算法(如MD5、SHA-1、SHA-256)来存储密码,并且不加盐或迭代。漏洞: 哈希是单向的,不可逆。简单的哈希算法容易被彩虹表攻击或暴力破解。避免: 密码存储务必使用

password_hash()

password_verify()

函数,它们默认使用Argon2或bcrypt等强密码哈希算法,并自动处理盐值和迭代次数。

7. 错误处理不当:

错误: 不检查

openssl_encrypt()

openssl_decrypt()

的返回值,或者对错误信息处理不当。漏洞: 如果加密或解密失败,程序可能继续处理错误或未加密的数据,导致安全问题。避免: 始终检查这些函数的返回值(它们在失败时返回

false

),并根据错误情况采取适当措施(如

以上就是PHP如何加密和解密数据_PHP数据加密与解密的算法和实践的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1294671.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PHP如何过滤Session数据_PHPSession安全存储方法
上一篇 2025年12月11日 10:25:58
CodeIgniter 3 Flashdata 始终显示问题的解决方案
下一篇 2025年12月11日 10:26:13

相关推荐

  • ubuntu compton减少延迟策略

    compton 是 ubuntu 的一个轻量级窗口合成器,通常用于实现透明度和合成效果。然而,compton 可能会导致一些延迟,特别是在资源受限的系统上。以下是一些减少 compton 延迟的策略: 降低合成分辨率:通过降低 Compton 的合成分辨率,可以减少处理负担,从而减少延迟。可以在 C…

    2026年9月24日
    000
  • Android应用中通过下载链接从Firebase Storage下载文件教程

    Android应用中通过下载链接从Firebase Storage下载文件教程Android应用中通过下载链接从Firebase Storage下载文件教程Android应用中通过下载链接从Firebase Storage下载文件教程Android应用中通过下载链接从Firebase Storage下载文件教程

    本教程详细介绍了在Android应用中如何利用文件的下载URL,结合Android DownloadManager将Firebase Storage中的文件下载到用户设备指定目录。内容涵盖必要的运行时权限处理、清单文件配置以及DownloadManager的具体使用方法,旨在帮助开发者实现本地文件存…

    2026年9月24日 用户投稿
    200
  • 163邮箱官网手机免费入口 163免费邮箱移动登录

    163邮箱官网手机免费入口 163免费邮箱移动登录163邮箱官网手机免费入口 163免费邮箱移动登录163邮箱官网手机免费入口 163免费邮箱移动登录163邮箱官网手机免费入口 163免费邮箱移动登录

    163邮箱官网手机免费入口可通过访问mail.163.com自动跳转至移动版,或在应用商店下载“网易邮箱”App登录,支持多账号管理、邮件收发、附件添加、消息推送及多设备同步,并提供登录保护、主题自定义和垃圾邮件过滤等安全与个性化功能。 163邮箱官网手机免费入口在哪里?这是不少网友都关注的,接下来…

    2026年9月24日 用户投稿
    000
  • Chrome浏览器书签栏怎么一直显示_设置Chrome书签栏永久显示教程

    Chrome浏览器书签栏怎么一直显示_设置Chrome书签栏永久显示教程Chrome浏览器书签栏怎么一直显示_设置Chrome书签栏永久显示教程Chrome浏览器书签栏怎么一直显示_设置Chrome书签栏永久显示教程Chrome浏览器书签栏怎么一直显示_设置Chrome书签栏永久显示教程

    通过点击Chrome右上角三点菜单,选择“书签”>“显示书签栏”可恢复书签栏;2. 使用Ctrl+Shift+B(Windows)或Command+Shift+B(Mac)快捷键快速切换显示;3. 在设置页面的“外观”中确保“显示书签栏”设为“始终显示”;4. 若无效,可重置浏览器设置以恢复默…

    2026年9月24日 用户投稿
    000
  • sublime的session文件是做什么用的_sublime会话文件作用与恢复机制

    sublime的session文件是做什么用的_sublime会话文件作用与恢复机制sublime的session文件是做什么用的_sublime会话文件作用与恢复机制sublime的session文件是做什么用的_sublime会话文件作用与恢复机制sublime的session文件是做什么用的_sublime会话文件作用与恢复机制

    Sublime Text的session文件记录了打开的文件、光标位置、代码折叠状态、窗口布局及未保存内容等信息,位于系统特定目录下的Local文件夹中,以JSON格式存储,通过自动保存机制在重启后恢复编辑状态。 Sublime Text 的 session 文件主要用于保存用户当前编辑环境的状态信…

    2026年9月24日 用户投稿
    000
  • windows10的gpedit.msc组策略打不开_windows10组策略编辑器打不开修复方法

    windows10的gpedit.msc组策略打不开_windows10组策略编辑器打不开修复方法windows10的gpedit.msc组策略打不开_windows10组策略编辑器打不开修复方法windows10的gpedit.msc组策略打不开_windows10组策略编辑器打不开修复方法windows10的gpedit.msc组策略打不开_windows10组策略编辑器打不开修复方法

    首先检查系统文件完整性,运行sfc /scannow修复损坏文件;若为家庭版系统,使用DISM命令安装组策略组件;接着通过注册表编辑器修改MMC相关限制策略;最后尝试直接从System32目录运行gpedit.msc文件。 如果您尝试通过运行命令打开Windows 10的组策略编辑器(gpedit.…

    2026年9月24日 用户投稿
    000
  • DeepSeek能不能帮我写代码 简单编程任务如何交给DeepSeek完成

    DeepSeek能不能帮我写代码 简单编程任务如何交给DeepSeek完成DeepSeek能不能帮我写代码 简单编程任务如何交给DeepSeek完成DeepSeek能不能帮我写代码 简单编程任务如何交给DeepSeek完成DeepSeek能不能帮我写代码 简单编程任务如何交给DeepSeek完成

    很多用户好奇,像DeepSeek这样的AI模型能否帮助完成编程任务,特别是那些相对简单的编程需求。答案是肯定的。DeepSeek具备理解自然语言描述并尝试生成相应代码的能力,这使得它成为完成一些简单编程任务的有力工具。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepS…

    2026年9月24日 用户投稿
    100
  • ubuntu如何mount网络驱动器

    在ubuntu中挂载网络驱动器有多种方法,以下是一些常见的方法: 方法一:使用mount命令 确定网络驱动器的地址:例如,如果是Samba共享,地址可能是smb://server/share。如果是NFS共享,地址可能是nfs://server/share。安装必要的软件包:对于Samba共享,安装…

    2026年9月24日
    000
  • Java中双精度浮点数的小数位控制技巧

    Java中双精度浮点数的小数位控制技巧Java中双精度浮点数的小数位控制技巧Java中双精度浮点数的小数位控制技巧Java中双精度浮点数的小数位控制技巧

    本文深入探讨了在Java中有效控制double类型数值小数位数的方法。通过Math.round()函数结合乘除操作,可以实现数值本身的四舍五入并改变其精度;而String.format()则提供了灵活的字符串格式化功能,用于在不修改原始数值的情况下精确控制显示的小数位数。这两种方法分别适用于不同的业…

    2026年9月24日 用户投稿
    000
  • Steam新游周报:经典恐怖游戏新作登场!

    Steam新游周报:经典恐怖游戏新作登场!Steam新游周报:经典恐怖游戏新作登场!Steam新游周报:经典恐怖游戏新作登场!Steam新游周报:经典恐怖游戏新作登场!

    十一国庆前的最后一周,Steam上又有许多令人兴奋的新作发布!本周策略玩家与模拟建设玩家有福了,将有数款新作等着你们,体育爱好者们则能玩到EA一款足球年货游戏,而本周黑马则是一款来自科乐美的经典日式恐怖游戏。让我们进入这周的新游周报吧! 周一(9月22日) 名望(抢先体验) Steam商店页面:名望…

    2026年9月24日 用户投稿
    000
  • mysql中rand的用法 mysql随机函数使用教程

    mysql 的 rand() 函数返回 0 到 1 之间的随机浮点数,用于随机选择和排序数据。1)随机排序:select from your_table order by rand()。2)随机抽取记录:select from your_table order by rand() limit 10。…

    2026年9月24日
    200
  • 高质量免费logo设计网站 国产免费logo生成工具推荐

    国产免费Logo设计网站推荐即时设计、DesignEvo、牛人设计等,这些平台提供海量模板、支持中文输入与AI智能生成,具备全中文界面、本土化元素和矢量导出功能,适合零基础用户快速制作高质量Logo。 高质量免费logo设计网站国产免费logo生成工具推荐这是不少网友都关注的接下来由PHP小编为大家…

    2026年9月24日
    200
  • 如何通过BIOS调整CPU电压实现节能?

    答案:CPU降压通过BIOS调整Vcore电压,采用Offset模式在保证稳定前提下降低功耗与温度,提升能效;需结合HWiNFO64等工具监控温度、功耗,并用Prime95等压力测试验证稳定性,避免蓝屏或崩溃,合理设置可使CPU在更低温度下维持更高睿频,实现节能且不牺牲性能。 通过BIOS调整CPU…

    2026年9月24日
    700
  • 为什么GPU显存带宽比容量更重要?

    显存带宽比容量更重要,因其直接决定数据传输速度,影响GPU计算单元的利用率。在AI训练和高分辨率渲染中,高带宽可避免“数据饥饿”,确保海量数据高效流转,而HBM技术凭借3D堆叠和宽接口提供远超GDDR的带宽,成为高性能计算的关键。 GPU显存带宽比容量更重要,核心在于现代GPU的工作模式和其处理的数…

    2026年9月24日
    100
  • VSCode如何实现代码热重载 VSCode实时预览开发的高效配置方案

    使用live server扩展实现静态文件的实时预览,保存后浏览器自动刷新;2. 利用现代前端框架(如react、vue)内置的开发服务器(如vite、webpack dev server)实现hmr热模块替换,修改代码后仅更新变动模块而不刷新页面;3. 结合browsersync等工具实现多设备同…

    2026年9月24日
    000
  • 外媒测试《消逝的光芒:困兽》PC性能:运行表现相当优秀

    外媒测试《消逝的光芒:困兽》PC性能:运行表现相当优秀外媒测试《消逝的光芒:困兽》PC性能:运行表现相当优秀外媒测试《消逝的光芒:困兽》PC性能:运行表现相当优秀外媒测试《消逝的光芒:困兽》PC性能:运行表现相当优秀

    来入手《消逝的光芒:困兽》吧!现享金币优惠叠加专属优惠券折上折,标准版仅需200.9元(共节省47.1元);豪华版233.2元(总计立减54.8元)。 由Techland打造的《消逝的光芒》系列新作《消逝的光芒:困兽》已正式上线。本作背景设定在曾经风景如画、如今却尸横遍野的河狸谷。玩家将在此组建临时…

    2026年9月24日 用户投稿
    000
  • mysql临时表如何使用_PHP中操作mysql临时表的具体步骤

    MySQL临时表仅在当前会话可见,连接关闭后自动删除,适合中间数据处理。使用PHP操作时,先通过mysqli或PDO建立数据库连接,再执行CREATE TEMPORARY TABLE语句创建临时表,随后可像普通表一样进行INSERT、SELECT及JOIN等操作。临时表可与永久表同名且优先被使用,支…

    2026年9月24日
    000
  • UC浏览器怎么查看和清除LocalStorage数据 UC浏览器LocalStorage数据管理方法

    可通过隐私设置清除或开发者工具查看LocalStorage。①在UC浏览器设置中选择“隐私与安全”→“清除浏览数据”,勾选“Cookie及其他网站数据”即可批量删除LocalStorage;②打开uc://inspect启用开发者工具,通过电脑Chrome远程调试查看具体键值对;③root设备后使用…

    2026年9月24日
    200
  • Java语法基础中static关键字可以修饰哪些内容

    static关键字用于定义类成员,包括静态变量(如计数器)、静态方法(如工具方法)、静态代码块(类加载时执行)和静态内部类(不依赖外部类实例),均属于类而非对象,通过类名访问,提升成员至类级别实现共享与提前使用。 static 关键字在 Java 中主要用于定义与类相关而非与对象实例相关的成员。它不…

    2026年9月24日
    100
  • 抖音怎么看注册时间?怎么看百度网盘注册时间

    抖音已然成为国内炙手可热的短视频平台之一。凭借其独特的智能推荐系统,用户能够在短时间内找到自己喜爱的内容。你是否知道,你的抖音注册时间实际上隐含了许多关于你的社交轨迹的信息呢?本文将带领大家一同揭秘抖音注册时间背后的故事。 一、抖音注册时间的意义 1. 用户活跃程度的体现 抖音注册时间能够帮助我们判…

    2026年9月24日
    100

发表回复

登录后才能评论
关注微信