在两台计算机之间发送和接收BigInteger值

时间:2019-05-06 08:16:50

标签: java

我正在使用一个椭圆曲线的加密voip应用程序,其值是biginteger类型,我必须将公钥发送给另一台主机,但是在精确发送这种类型时遇到了问题。

2。我尝试了一些方法,但是仍然有错误,这是我的代码的一部分。

    OutputStream o = client.getOutputStream();
    InputStream inp = client.getInputStream();
    EllipticCurveAlgorithm algorithm = new EllipticCurveAlgorithm();
    PointProccessor processor = new PointProccessor();
    BigInteger pri = new BigInteger("1234567898514546");
    Point pub = processor.multiply(pri, algorithm.base);
    ObjectOutputStream os = new ObjectOutputStream(o);
    os.writeObject(pub.getX());
    os.writeObject(pub.getY());
    ObjectInputStream ois = new ObjectInputStream(inp);
    BigInteger px = (BigInteger)ois.readObject();
    BigInteger py = (BigInteger)ois.readObject();

3。此代码的错误是这样。

java.io.StreamCorruptedException: invalid stream header: FF7FFF7F
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:808)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:301)
at chat.VOIPClientEC.run(VOIPClient.java:681)

4。我希望任何人都能帮助我,并建议我其他解决方案。

0 个答案:

没有答案