【问题标题】:How to encrypt with PHP and decrypt with JavaScript如何用 PHP 加密和用 JavaScript 解密
【发布时间】:2021-03-04 06:03:23
【问题描述】:
我想在客户端-服务器系统中实现对称加密。
我需要向指定系统中的登录用户显示一些私人数据。我想发送使用密钥加密的数据,该密钥仅归用户和服务器所有。这个密钥永远不会在客户端和服务器之间发送,因为他们总是知道那个密钥。每个用户都有一个密钥。
所以我想用 PHP 发送由服务器加密的数据,并用 JavaScript 解密客户端(向用户询问密钥)。
我应该使用哪种加密方法?
哪个 PHP 函数和哪个 JavaScript 函数?
是否足够强大以显示微妙的数据?
【问题讨论】:
标签:
javascript
php
encryption
【解决方案1】:
就像在 cmets 中提到的那样,使用 HTTPS。您可以创建自己的加密算法并将其编码为在 PHP 中加密,并在 JS 中解密(不推荐的解决方案,但它是一个 sulition)。
【解决方案2】:
是否足够强大以显示微妙的数据?
不,一点也不。加密可以是最先进的、强大的和“安全的”。但是,只要您必须共享用于加密数据的密钥,您就会遇到与安全相关的问题。攻击者可以使用 MITM 攻击在从服务器或用户发送/接收密钥时获取密钥,从而读取所有数据。
我应该使用哪种加密方法?哪个PHP函数和哪个
Javascript函数?
没有人,这是本机使用 HTTPS 进行安全数据传输。
因此,您最好的选择是实施 HTTPS 并通过安全通道发送您的数据。
如果数据应在服务器上保护且不可读,请使用标准化方法客户端 (javascript) 对数据进行加密,并将加密后的数据发送到服务器。这样,即使服务器/数据库被黑客入侵,您的数据也不会受到损害。