Calculation of SHA3 hash value with bouncycastle - `error: cannot find symbol`
Calculation of SHA3 hash value with bouncycastle - `error: cannot find symbol`
我从这里举了个例子:
是第二个答案,不是被采纳的!
它在 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;
}
我希望使用充气城堡方法 digestSHA3.digest
来计算变量 digest
。
我得到一个编译器标记,后者不可用。
UPDATE_20190212:使用 java8 和 java11 编译并得到完全相同的错误消息。
这是我的 pom.xml:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
虽然编译器标记在括号外,但违规表达式不是 digestSHA3.digest
,而是 message.getBytes()
。 message
已经是 byte[]
,所以删除 .getBytes()
可以解决问题。
我从这里举了个例子:
是第二个答案,不是被采纳的!
它在 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;
}
我希望使用充气城堡方法 digestSHA3.digest
来计算变量 digest
。
我得到一个编译器标记,后者不可用。
UPDATE_20190212:使用 java8 和 java11 编译并得到完全相同的错误消息。
这是我的 pom.xml:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
虽然编译器标记在括号外,但违规表达式不是 digestSHA3.digest
,而是 message.getBytes()
。 message
已经是 byte[]
,所以删除 .getBytes()
可以解决问题。