我有一个名为“用Java编写客户端服务器套接字程序的任务,其中服务器将使用身份验证算法对客户端进行身份验证。”我该如何开始?实现这一点的计算机安全和套接字编程知识的先决条件是什么?任何好教程的链接?
编辑:使用Caesar Cipher
答案 0 :(得分:1)
答案 1 :(得分:1)
答案 2 :(得分:1)
这个要求含糊不清。我会给你最简单的答案:
以这种方式编写服务器,每次请求都需要用户名和密码。
答案 3 :(得分:1)
您使用的是身份验证算法,还是只是加密消息?
如果你只需要加密消息,那么确保两端都有相同的密码存储(两个字符数组应该工作)并在发送消息之前逐个字符地加密字符串然后逐字符解密另一端。
您不使用Caesar Cypher进行身份验证,而仅使用加密。如果你想单独进行身份验证,你可以让套接字连接的第一条消息是用户名/密码,你可以加密客户端和解密服务器端,然后检查它们是否有效。对于这个硬编码的最简单的例子,在服务器上有一个可接受的用户名和密码,并在命令行上输入客户端上的用户名和密码。
答案 4 :(得分:0)
对于在Google上搜索的任何人,身份验证算法或“握手”的示例不仅仅是username
和password
。这将是从服务器发送到客户端的挑战,例如随机字符串;并且客户端对挑战执行算法,例如按位操作,并将其发送回服务器。然后,服务器对挑战执行同样的操作,并在验证登录之前与客户端发送的内容进行比较。
这用于创建一个更加神秘的协议,以阻止第三方开发人员(如机器人制造商)创建未经授权的软件。通常,握手过程非常困难,不仅在操作中,而且还使用所用语言的复杂功能使移植非常困难。