用Bouncycastle计算SHA3哈希值-错误:找不到符号

时间:2019-01-30 19:18:07

标签: java compiler-errors bouncycastle

我从这里举了一个例子: bouncycastle_example

这是第二个答案,而不是被接受的答案!

并且它在Java 8和Java 11中都可以正常工作,尽管maven Central并不支持后者。

现在我自己的项目复制了与示例相同的行,并给出了标题中指出的错误消息。

有一个正在运行的示例,我想知道为什么完全相同的代码在我的项目中不起作用...

//Klassenattribute (transient):
//transient BigInteger message;
transient byte[] message;

transient SHA3.DigestSHA3 digestSHA3 = new SHA3.Digest512();


//Konstruktor:
public Signature_Path (byte[] message) {//Done: BigInteger message 
//Klassenattribute initialisieren:
path= new Vector<Node>();

//Klassenattribute initialisieren (GEHEIM):
sk = new Secret_Key ();
std_rnd = new Random (); //Zufallszahlgenerator

//Klassenattribute initialisieren (privat):
k = 0;//Bitlaenge der Zufallszahlen p, q 
//Klassenattribute initialisieren (transient):
byte[] digest = digestSHA3.digest(message.getBytes());
this.message = digest;

}

我希望使用弹性城堡方法digest计算变量digestSHA3.digest

我得到了一个编译器标记,后者不可用。

UPDATE_20190212:使用java8和java11进行编译,并得到了完全相同的错误消息。

这来自我的pom.xml:

<dependency>
           <groupId>org.bouncycastle</groupId>
           <artifactId>bcprov-jdk15on</artifactId>
           <version>1.60</version>
</dependency>

1 个答案:

答案 0 :(得分:1)

尽管编译器标记不在括号内,但令人讨厌的表达式不是digestSHA3.digest,而是message.getBytes()message已经是byte[],因此删除.getBytes()就可以解决问题。