나는 이것에 관해 다른 질문을 보았지만 오류는 문자열의 앞에 오는 0과 관련되어있었습니다. 이것은 불행히도 내 경우가 아닙니다.NumberFormatException 유효한 숫자 문자열
외부 소스에서 암호화 된 데이터를 base64 형식으로 수신하고 있습니다 (Android SDK 버전이 7이기 때문에 포함 된 Base64 라이브러리를 사용하여 디코딩). 메시지의 암호를 해독하고 이후에는 간단한 문자열이 있습니다. 숫자 형식.
java.lang.NumberFormatException: Invalid long: "2551122"
at java.lang.Long.invalidLong(Long.java:125)
at java.lang.Long.parse(Long.java:362)
at java.lang.Long.parseLong(Long.java:353)
at java.lang.Long.parseLong(Long.java:319)
at com.nzn.lol.LoginActivity$LoginTask.doInBackground(LoginActivity.java:98)
at com.nzn.lol.LoginActivity$LoginTask.doInBackground(LoginActivity.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:264)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
내가 인쇄를 사용하여 입력을 확인하고 정말 문자열 "2551122"입니다 :
은 내가이 오류가 Long
또는 Integer
에 캐스팅 할 때. 내가 어떤지를 확인하려고 할 때 , 그것은 또한 내가 그것을 인코딩 문제라고 생각하고, 디코딩 된 바이트를 복용하고 여러 인코딩에서 문자열을 만드는 시도
"2551122".equals(numberAsString) // Gives me false
정확하지 않습니다, 또한 64 기수에서 바이트를 디코딩하는 시도 문자열이 여러 개의 동일한 인코딩을 사용하지만이 오류의 원인을 파악할 수 없습니다.
은 어떤 도움이
UPDATE을 감사하십시오
이 (암호 화기 클래스) 문자열을 해독 코드입니다 :
private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception {
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance(encryptionAlgorithim);
cipher.init(Cipher.DECRYPT_MODE, skeySpec, new IvParameterSpec(iVector));
byte[] decrypted = cipher.doFinal(encrypted);
return decrypted;
}
public String decrypt(String encryptedString, String key) {
byte[] keyBytes = key.getBytes();
byte[] decoded = Base64.decode(encryptedString); // Decodes the string from base64 to byte[]
byte[] result = decrypt(keyBytes, decoded);
return new String(result);
}
이 오류가 발생하는 방법입니다
Encryptor encryptor = new Encryptor();
Long.parseLong(encryptor.decrypt(base64String, secretKey)) // Throws me the error
캐스트 할 수있는 코드를 게시 할 수 있습니까? – javajavajava
흥미로운 질문입니다. 코드도 게시하십시오 .. – AAnkit
코드를 올리시겠습니까? –