2012-03-01 19 views
1

私はtriple desを使ってアンドロイドでファイルを暗号化しました。このファイルはPHPを使用してサーバーにアップロードされます。同じファイルを解読するためのPHPスクリプトを書かなければならない。androidで暗号化されたphpのファイルを解読する

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(); 
} 

私は、16進値でありkeyBytesiv用のハードコードされた値を渡しています。

+0

ようこそスタックオーバーフロー。 [How to Ask](http://stackoverflow.com/questions/how-to-ask)、[何を試しましたか?](http://mattgemmell.com/2008/12/08/what-have 「〜を試してみよう」、「[スマートウェイに質問する方法]」(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

関連する問題