我正在尝试查找DSA公钥的长度,但找不到方法.length
,我确保我有正确的导入,但它似乎不起作用。下面的代码片段,是否有特殊功能可以找到它?
//my imports
import java.util.*;
import java.io.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
public boolean SelObj(int k, PublicKey c) throws java.rmi.RemoteException{
for(int j =1; j<c.bitLength(); ++j) {
//some code
}
}
答案 0 :(得分:2)
字节数组编码的位长度:
c.getEncoded().length * Byte.SIZE
整数值的位长度:
import java.security.interfaces.DSAPublicKey
((DSAPublicKey) c).getY().bitLength()