2012-03-01 2 views
1

트리플 데스를 사용하여 android에서 파일을 암호화했습니다. 이 파일은 PHP를 사용하여 서버에 업로드됩니다. 동일한 파일의 암호를 해독하는 PHP 스크립트를 작성해야합니다.android에서 암호화 된 파일의 암호를 해독하십시오.

PHP를 처음 접한다면, PHP 스크립트를 통해 도움을 얻을 수 있습니다.

public void encrypt(InputStream in, OutputStream out) throws Exception { 
    final SecretKey key = new SecretKeySpec(keyBytes, "DESede"); 
    final IvParameterSpec param = new IvParameterSpec(iv); 
    final Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding"); 
    cipher.init(Cipher.ENCRYPT_MODE, key, param); 

    // Read in the cleartext bytes and write to out to encrypt 
    int numRead = 0; 
    while ((numRead = in.read(buf)) >= 0) { 
     byte[] output = cipher.doFinal(buf, 0, numRead); 
     if(output != null) { 
      byte[] enc = Base64.encode(output, 0); 
      out.write(enc); 
     } 
    } 
    out.close(); 
} 

나는 keyBytes 16 진수 값입니다 iv 하드 코딩 된 값을 전달하고있다.

+0

스택 오버플로에 오신 것을 환영합니다. [How to Ask] (http://stackoverflow.com/questions/how-to-ask), [무엇을 시도 했습니까?] (http://mattgemmell.com/2008/12/08/what-have -you-tried /), [질문하는 방법 (Smart Way)] (http://catb.org/esr/faqs/smart-questions.html). –

답변

1

그래서 mcrypt 확장 프로그램을 사용해야 할 것 같습니다. mcrypt 확장은 TRIPLEDES를 지원합니다. Mcrypt 라이브러리 지원되는 암호

Installation

List.

일부 mcrypt examples입니다.

해독 할 mcrypt 기능은 here입니다.

저는 현재 안드로이드 및 고급 PHP를 배우고 있습니다. 당신이 PHP에 처음이라면, 나는 php.net에 모든 것을 추천한다. 그것은 나를 위해 매우 도움이되었습니다.

+0

내가 언급 한 링크를 보았습니다. 내 서버에 mcrypt 확장을 설치해야합니까? 나는 WAMP 서버를 사용하고있다. – mithu

+0

업데이트 된 답변 읽기 나는 당신에게 직접적인 대답을 제공하지 않았지만 당신을 대답으로 안내하는 것이 더 쉽다는 것을 안다. 이것이 해당 문제의 해결책인지 알려주십시오. 만약 그렇다면,이 문제가있는 미래의 프로그래머를 위해 제 대답으로 체크 표시를 눌러주십시오. – EGHDK

+0

설치 링크를 따라갔습니다. 그러나 내 wamp 서버에는 그런 DLL이 없습니다. 그래서, 나는 dll을 다운로드하고 서비스를 다시 시작했다. 하지만,이 mcrypt_decrypt() 같은 오류가 발생합니다 : 모듈 초기화하지 못했습니다. 이걸 좀 도와 줘! – mithu

관련 문제