1

我有一个用 C# 编写的应用程序 winform 客户端和一个用 php 编写的服务器应用程序。

我需要验证客户端在服务器上执行的操作。

当客户端发送此验证时,它会向服务器发送一些信息,例如 LicenseID 、 Info Points 和其他我不想被欺骗的信息。我想防止对服务器的虚假调用。

我使用的第一个解决方案是 3DES,以防止任何人看到我通过 GET 和 POST 方法发送到 php 网络服务器的清晰数据。

现在的问题是,像 LicenseID 和其他一些信息总是相同的。

因此,即使我在 3DES 中对它们进行加密,对于每次调用,这些加密的单词总是相同的,并且很容易被欺骗。

我想知道是否可以发送数据,以便它们在每个 GET 和 POST 方法中看起来不同,我可以在网络服务器中解密。

在提供相同数据的同时,我可以进行哪些更改以使每个呼叫彼此不同?

更新:我忘了说我不能使用 SSL。

4

2 回答 2

2

也许您可以根据当前日期等某个密钥对每个信息使用随机盐,或者在客户端和服务器中使用相同密钥的伪随机盐。然后你可以用 3des 加密它。

您还应该在加密信息后使用 https。为此获取 SSL 证书。

于 2011-11-17T14:50:54.483 回答
1

SSL 启用您的 php 服务器。这将防止信息泄露给那些可能在网上收听的人。听起来这可以解决您的大部分问题。

于 2011-11-17T14:48:57.980 回答