비밀 키를 사용하여 특정 텍스트를 안드로이드에서 암호화해야합니다. PHP에서 암호화 코드는 내 안드로이드 응용 프로그램에 대한 넷빈즈에 apache.org (평민 - 코덱 - 1.6.jar)에서 평민 코덱을 추가 Base64로 들어이android의 Base64 및 mcrypt_encrypt
$this->securekey = hash('sha256',$textkey,TRUE);
$this->iv = mcrypt_create_iv(32, MCRYPT_DEV_URANDOM);
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $this->securekey, $input, MCRYPT_MODE_ECB, $this->iv));
것 같습니다. 코드에 오류가 없습니다. 그러나 응용 프로그램을 실행하고 코덱을 사용하는 함수를 호출하면 응용 프로그램이 중단되고 fore close가 필요합니다. 로그 캣에서
는 말한다 : 나는 내 코드는 PHP 코드와 같은 암호화를 할 경우 확실하지 않다public static String crypt(String input, String key){
byte[] crypted = null;
try{
SecretKeySpec skey = new SecretKeySpec(org.apache.commons.codec.binary.Base64.decodeBase64(key), "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, skey);
crypted = cipher.doFinal(input.getBytes());
}catch(Exception e){
}
return org.apache.commons.codec.binary.Base64.encodeBase64String(crypted);
}
:
Android Runtime: java.lang.NoSuchMethodError:
org.apache.commons.codec.binary.Base64.decodeBase64
여기 내 코드입니다. Android와 PHP 사이에이 링크 http://www.androidsnippets.com/encrypt-decrypt-between-android-and-php이 있지만 mcrypt_encrypt에만 Base64는 사용되지 않습니다. 누구든지 PHP 서버와 동일한 암호화를 얻을 수 있도록 도와 줄 수 있습니까? 사전에
감사합니다.
우선, 내 인생이 그것에 의존한다면 암호화 관련 정보에 대해 "android snippets"를 신뢰하지 않을 것입니다. 끔찍한 것들. –