gpt4 book ai didi

java - PHP与Java之间的加解密

转载 作者:行者123 更新时间:2023-12-01 15:45:04 25 4
gpt4 key购买 nike

我正在尝试制作一个 PHP 脚本来与 Java 应用程序交互。他们将共享一些信息,因此除了拥有 SSL 证书之外,我还想对他们之间传递的数据进行加密,以使其尽可能安全。但是,因为我的网站仅位于 JustHost 的共享服务器上,据我所知,我无法使用“mcrypt”PHP 模块,因此我不确定如何执行此操作,以便我的 Java 应用程序和 PHP 脚本都可以加密发送的数据并解密接收的数据!

最佳答案

Java 和 PHP 之间的 SSL 对话将在数据传输过程中保护您的数据。如果您使用强密码(10+个符号)正确保护私钥,并确保您的算法强大,没有人能够通过窥探对话来破解它。

在通过 SSL session 发送数据之前对数据进行加密不会获得任何额外的保护。实际上,您可能会削弱您的安全性,因为为了加密数据,如果您选择对称加密,则必须共享一些 key 。而且,通过交换 key ,您将失去 SSL 提供的大部分保护,因为 SSL 的巨大好处是我们可以在不同意 key 的情况下加密数据。如果我试图获取您的加密文本,我会攻击您的客户端,因为找到您的对称加密 key 比破解 SSL 更容易。虽然您可以使用非对称加密,但您基本上会重新发明 SSL。

我会专注于确保您的 SSL 对话是强大的。仅使用最强的对称加密:TripleDES、IDEA、AES(如果您的服务器支持)。删除较弱的算法,以便对话不能使用较弱的加密。生成 1024+ 公钥/私钥对。这在您的共享服务器上可能并不总是那么容易,但您的 Java 应用程序只能选择使用 TripleDES、IDEA 和 AES。

确保在客户端验证服务器的证书,以确保您不会与错误的服务进行通信。这基本上意味着获取服务器的证书并将其添加到客户端使用的 keystore 中。如果是 Java,您可以使用 keytool 导入证书并使用该 keystore 作为 SSL 对话中的 TrustManager/KeyManager。

如果您想在数据通过 SSL session 后对其进行加密,那么您只能在服务器上进行加密/解密。但是,您仍然存在 key 管理问题。如果您加密/解密,您计划如何保护服务器上的 key ?这始终是一个没有简单答案的丑陋问题。

关于java - PHP与Java之间的加解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com