2013-03-04 2 views
2

AES-256 사용을 요구하는 Java 메소드를 작성하고 싶습니다. 그것을하기 위해 들어오는 SecretKey 인스턴스에 대한 검사를 수행하고 싶습니다. RSA의 경우 이것은 내가하고있는 것입니다 : -Java에서 AES 256 위임

public boolean checkKey(RSAKey key) { 
    if (key.getModulus().bitLength() == 1024) 
     return true; 
    return false; 
} 

AES의 경우 다음과 같이하면됩니까?

public boolean checkKey(SecretKey key) { 
    if (key.getAlgorithm() == "AES" && key.getEncoded().length == 256) 
     return true; 
    return false; 
} 

는하지만 내가 인코딩 된 키의 길이 아닌 키를 찾는 것 같이이 그것을 할 잘못된 방법이 될 것이라는 느낌을 얻을. AES 키의 길이를 찾는 방법은 무엇입니까?

답변

2

AES 키의 경우 엔코 드 된 형식은 원시 바이트이므로 원칙적으로 검사가 정상입니다.

결과가 바이트 길이 인 비트 길이가 아닌 길이가되므로, == 32을 확인하십시오.