我正在尝试使用服务器客户端发送一些数字和哈希。我正在使用 UDP 协议来做到这一点。我按照预期使用数字或散列创建了一个数据包,并使用套接字发送它。客户端接收它,因此,只打印接收到的值。但是当我在客户端收到数字和哈希时,我没有得到相同的结果。可能的问题是什么?
我正在提供我的服务器和客户端代码以及我在这里得到的输出。
服务器代码:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.ArrayList;
import javax.xml.bind.DatatypeConverter;
public class main {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
int n = 10;
SecureRandom rand = new SecureRandom();
ArrayList<String> clue = new ArrayList<String>();
ArrayList<String> cluenum = new ArrayList<String>();
MessageDigest digestnew = MessageDigest.getInstance("SHA-256");
byte[] finalmsgblock = "End".getBytes();
for(int i = 0; i < n; i++)
{
int num = rand.nextInt(100);
String num1 = Integer.toString(num);
byte[] num2 = digestnew.digest(num1.getBytes(StandardCharsets.UTF_8));
String num3 = "Clue: " + DatatypeConverter.printHexBinary(num2);
clue.add(i,num3);
cluenum.add(i, num1);
}
System.out.println(clue);
System.out.println(cluenum);
// Create a Socket
DatagramPacket packet, packet1;
InetAddress address;
DatagramSocket socket;
socket = new DatagramSocket();
address = InetAddress.getByName("127.0.0.1");
}
}
POPMUISE
相关分类