Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Caesar密码身份验证在Java中编写客户机-服务器套接字程序需要知道什么?_Java_Security_Sockets - Fatal编程技术网

使用Caesar密码身份验证在Java中编写客户机-服务器套接字程序需要知道什么?

使用Caesar密码身份验证在Java中编写客户机-服务器套接字程序需要知道什么?,java,security,sockets,Java,Security,Sockets,我有一个任务叫做“用Java编写一个客户机-服务器套接字程序,在这个程序中,服务器将使用身份验证算法对客户机进行身份验证”。我该如何开始?要实现这一点,具备计算机安全和套接字编程知识的先决条件是什么?有好教程的链接吗 编辑:使用凯撒密码也许这可以帮助您: 身份验证可以是简单的用户名/密码方案 也许这可以帮助您: 身份验证可以是简单的用户名/密码方案 这一要求很模糊。我会给你一个最简单的答案: 以这样的方式编写服务器,即每次请求都需要用户名和密码。此要求不明确。我会给你一个最简单的答案

我有一个任务叫做“用Java编写一个客户机-服务器套接字程序,在这个程序中,服务器将使用身份验证算法对客户机进行身份验证”。我该如何开始?要实现这一点,具备计算机安全和套接字编程知识的先决条件是什么?有好教程的链接吗


编辑:使用凯撒密码

也许这可以帮助您:


身份验证可以是简单的用户名/密码方案

也许这可以帮助您:

身份验证可以是简单的用户名/密码方案


  • 这一要求很模糊。我会给你一个最简单的答案:


    以这样的方式编写服务器,即每次请求都需要用户名和密码。

    此要求不明确。我会给你一个最简单的答案:


    以这样的方式编写服务器,即每次请求都需要用户名和密码。

    您使用的是身份验证算法还是只是加密消息

    如果只需加密消息,请确保两端都存储了相同的密码(两个字符数组应该可以工作),并在发送消息之前逐个字符加密字符串,然后在另一端逐个字符解密


    您不能仅使用凯撒密码进行身份验证和加密。如果您需要身份验证,那么您可以单独使用套接字连接的第一条消息作为用户名/密码,这两条消息都可以加密客户端和解密服务器端,然后检查它们是否有效。对于最简单的示例,只需在服务器上硬编码一个可接受的用户名和密码,并在命令行中输入客户端上的用户名和密码

    您是在使用身份验证算法还是只是在加密消息

    如果只需加密消息,请确保两端都存储了相同的密码(两个字符数组应该可以工作),并在发送消息之前逐个字符加密字符串,然后在另一端逐个字符解密


    您不能仅使用凯撒密码进行身份验证和加密。如果您需要身份验证,那么您可以单独使用套接字连接的第一条消息作为用户名/密码,这两条消息都可以加密客户端和解密服务器端,然后检查它们是否有效。对于最简单的示例,只需在服务器上硬编码一个可接受的用户名和密码,并在命令行中输入客户端上的用户名和密码

    对于在这里搜索的任何人来说,身份验证算法或“握手”的例子不仅仅是
    用户名
    密码
    。这将是一个从服务器发送到客户端的质询,例如随机字符串;客户端对质询执行一个算法,例如按位操作,并将其发送回服务器。然后,服务器对质询执行相同的操作,并在验证登录之前将其与客户端发送的质询进行比较


    这是用来创建一个更神秘的协议,以阻止第三方开发人员(如机器人制造商)创建未经授权的软件。通常情况下,握手过程非常困难,不仅在操作上,而且使用所用语言的复杂函数使移植变得非常困难。

    对于在这里搜索的任何人来说,身份验证算法或“握手”的示例不仅仅是
    用户名
    密码
    。这将是一个从服务器发送到客户端的质询,例如随机字符串;客户端对质询执行一个算法,例如按位操作,并将其发送回服务器。然后,服务器对质询执行相同的操作,并在验证登录之前将其与客户端发送的质询进行比较


    这是用来创建一个更神秘的协议,以阻止第三方开发人员(如机器人制造商)创建未经授权的软件。通常情况下,握手过程非常困难,不仅在操作上,而且使用所用语言的复杂函数使移植非常困难。

    编写套接字部分是可以找到的例子,但是“使用验证算法验证客户端”是什么意思?这意味着加密,还是像询问用户名和密码那样简单?请为您的问题选择一个更具描述性的名称。通过谷歌搜索
    java socket tutorial
    可以获得一些好的结果,帮助您入门。编写socket部分是您可以找到的示例,但您所指的是什么“使用身份验证算法对客户端进行身份验证”?这是否意味着加密,还是像询问用户名和密码那样简单?请为您的问题选择一个更具描述性的名称。通过谷歌搜索
    java socket教程
    将为您提供一些良好的结果,帮助您入门。