java - 在java中用非常大的指数计算幂

标签 java pow exponent

我在计算非常大的指数的幂时遇到了问题。即:我输入我的密码:"abc" 然后计算 x=Hash(password)。之后,我必须计算 Y = pow(g,x) 其中,g 是一个随机数r。那么我如何计算 Y。有什么建议吗?非常感谢!

最佳答案

在密码学中 c = m^e (mod n) 其中 c 是密文,n 是您可以计算的最大值代表。需要模运算。

除此之外,对于大数求幂 Exponentiation by squaring用来。 pow 操作实现了这个算法。代码是 here .

通过预定义的字节数组和字节操作,加密实现要复杂得多。可以引用this paper's , 模幂和根部分。

关于java - 在java中用非常大的指数计算幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23192750/

相关文章:

java - Android,从单独的类访问 fragment 方法

java - 无法解析 Java 小程序项目中的 JSObject

c# - 计算平方根和幂的快速方法?

java - 如何以人类可读的格式显示 BigDecimal 值?

mysql - POW() 还是 POWER() 更好?

java - Java有指数运算符吗?

c++ - 当一个参数是函数的返回值时调用 pow() 时出现链接器错误

C 幂函数负指数,无需 pow()

r - 将单位缩写转换为数字

java - 使用复选框允许用户保存 TextView 和编辑 View 中的值,以便在重新打开应用程序时立即看到它们。