首页 > 解决方案 > 不能在 int 上使用 modPow() 吗?(爪哇)

问题描述

我的代码:

public static void verschluesseln(int m) {
    if(m < n) {
            int c =  m.modPow((int) n, oeffentlicherSchluessel[0]);
    }

错误:

.java:51: error: int cannot be dereferenced
            int c =  m.modPow((int) n, oeffentlicherSchluessel[0]);
                      ^

这确实在我的另一个项目中运行。这就是为什么我对这个错误感到非常困惑的原因。

标签: javamathcryptographymod

解决方案


modPowBigInteger方法,不能与 int 一起使用。它也BigInteger作为参数接收,而不是int

BigInteger c = BigInteger.valueOf(m).modPow(BigInteger.valueOf(n), BigInteger.valueOf(oeffentlicherSchluessel[0]));

推荐阅读