2017-01-11 11 views
-1

私はPHPで復号化しようとしていますが、最初に起動する方法はわかりません。例えばPHPで鍵で復号する

このオリジナルキーはbinファイルであると私はそれを変換しよう

70f9ac9b5b692a236031023c67d5166e990f18bd6ec89061 

のように、この

wmUtiGKYwMqp0gai7XnDFD4tuZyYHmMKvcDd96ar+3fvuMOeUqBfpcRGuTn7uSXmnxQb4KIkYUryE7Zv5P9xMIhojWVvihzzB1NDae7c0UxOXfFEEdU8uxymGzrs+L3ThVRYoQTv/jGv9UkdvSuUHJEXOjFu7daGb/a9jmOyhGkokX3gUDkd8Kn3sJG51TdfefExGrBApjF/CEnEsLj+lu4fO6+2eLOnb737dW5pfKXN/x3f5JW2XI1zgZIUYPqsiaLz49bETuJT3F8KHZFWfnSyAiwlxY7NinBprOH1V+Fpz1+fL9emJsLieDTub1VgKNCrjcB9jlsGb0qYqowCS3ktewDqeowQbmgDpz3URtOE92O114eCglD2QBrBCcu+zW6nMk27d/gZg67MMKzaRX16F8tvme7oDKkYB6EIPkutkgs/lobR4Zfkl2MH5g4nLxLCj6phHMHDW3Y9TBpmhmtwGWwFfPy7I8QNft+GurGh4DcZvL9zNQfShX6SBN2UaYXZ5uUhFqBQIZLfwxF14URmytajKltrMLmoHZf2KUUwW2pnP0X/jwyQpP9Ose3AxoG6/7CQrnazBmm7c0wyftXAPJ7MIfiRNRNU1+Y1o6SOg4QvXdrSG4cL5hfqjtVyXWHwApKpmkB6KoK5DyapjopmAcRhOEUSPyOYj/QGVYlrwQugIbKU/hLtdzF4Cm5/lzrPYzm6QEr42jEidMDWqrE/sL88XLKlRed//ezwP8+2Fxv+yFrFOGS8pjLw5D6Mw4PIY7KdSnqCNad5TKwNztZbeK8UZrYQdTt6eqzBMSBIhKrWvKA22E+B+Q9fhBgslLr+wcEOP120cHsH8COv5uLGErtk4ojzc0jlT1i/8lOYqe+/vgQ+J48RxuSRvksowx70UtdogECoVpszEMKCsyLiuHbuHv22sC2IjNUv2+JpiifHIZ+UK3ZvXkt9R4d24ojtC7RBUgXBk0eLLMTl1qYZDskg9/ob66t7ptkyNJgnwmk2cAHl/pjbq8wqzdqju9r7Ky0vus8srs0OjZZ7zPEh1oaEoPkkD/uy6smP0yLKQwjCsK/KeaypQH90rlY5ACgogJqmaFX2J3EUDwcXqnGVtHHa8VUy3tIobCrHAn3Wbx0MaKsSJthWTOj91HRqUqJ2t+DPV8XoWfPe6Wz7HoW+8bjkNKU2mth0zxhYvMHFu4fDqlMbG6V/1gfUOihuGc1hI6+IEtvda+gcrXLEITqUs0QYEilGVHJcrQEexps= 

とキーのような秘密のテキスト暗号化は、 bin2hex()

どのような暗号化方式ですか?

追加情報

javaの

public class b 
{ 
    public static String a(String paramString, byte[] paramArrayOfByte) 
    { 
    try 
    { 
     SecretKeySpec localSecretKeySpec = new SecretKeySpec(paramArrayOfByte, "DESede/ECB/PKCS5Padding"); 
     Cipher localCipher = Cipher.getInstance("DESede"); 
     localCipher.init(1, localSecretKeySpec); 
     String str = new String(Base64.encode(localCipher.doFinal(ab.b(paramString)), 0)); 
     return str; 
    } 
    catch (Exception localException) 
    { 
     return null; 
    } 
    catch (NoSuchPaddingException localNoSuchPaddingException) 
    { 
     break label52; 
    } 
    catch (NoSuchAlgorithmException localNoSuchAlgorithmException) 
    { 
     label52: 
     break label52; 
    } 
    } 

    public static byte[] a(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3) 
    { 
    if ((paramArrayOfByte1 == null) || (paramArrayOfByte2 == null) || (paramArrayOfByte3 == null)) { 
     return null; 
    } 
    try 
    { 
     SecretKeySpec localSecretKeySpec = new SecretKeySpec(paramArrayOfByte2, "AES"); 
     String str = "NoPadding"; 
     if (paramArrayOfByte3.length % 188 != 0) { 
     str = "PKCS5Padding"; 
     } 
     Cipher localCipher = Cipher.getInstance("AES/CBC/" + str); 
     localCipher.init(2, localSecretKeySpec, new IvParameterSpec(paramArrayOfByte1, 0, paramArrayOfByte1.length)); 
     byte[] arrayOfByte = localCipher.doFinal(paramArrayOfByte3); 
     return arrayOfByte; 
    } 
    catch (Exception localException) 
    { 
     d.e("m3u8", localException.toString()); 
    } 
    return null; 
    } 

    public static String b(String paramString, byte[] paramArrayOfByte) 
    { 
    try 
    { 
     SecretKeySpec localSecretKeySpec = new SecretKeySpec(paramArrayOfByte, "DESede/ECB/PKCS5Padding"); 
     Cipher localCipher = Cipher.getInstance("DESede"); 
     localCipher.init(2, localSecretKeySpec); 
     String str = ab.b(localCipher.doFinal(Base64.decode(paramString, 0))); 
     return str; 
    } 
    catch (Exception localException) 
    { 
     return null; 
    } 
    catch (NoSuchPaddingException localNoSuchPaddingException) 
    { 
     break label45; 
    } 
    catch (NoSuchAlgorithmException localNoSuchAlgorithmException) 
    { 
     label45: 
     break label45; 
    } 
    } 
} 
+0

使用される暗号化アルゴリズムを知っていますか?あなたがそうしなければ、それを解読することができなくなります。 –

答えて

0

からは、Javaファイルのソースコードから見ることができるように復号化コード。 ここで使用される暗号化は、TripleDESまたはDESedeです。

上記の出力は、まずbase64でエンコードされています。

あなたは鍵はまた、あなたがTripleDESの

ここ

のためのPHP解読を行うことができます作っまたはパブリックリリースのソースを使用することによりBIN2HEX()、 で暗号化されて書いた関数の考えであるとして:私は願っています

function Decrypt($data, $secret) 
{ 

    //Generate a key from a hash 
    $key = md5(utf8_encode($secret), true); 

    //Take first 8 bytes of $key and append them to the end of $key. 
    $key .= substr($key, 0, 8); 

    $data = base64_decode($data); 

    $data = mcrypt_decrypt('tripledes', $key, $data, 'ecb'); 

    $block = mcrypt_get_block_size('tripledes', 'ecb'); 
    $len = strlen($data); 
    $pad = ord($data[$len-1]); 

    return substr($data, 0, strlen($data) - $pad); 
} 

これはあなたのために役立ちます:)

+0

私はコードを試しますが、解読に失敗します。 –

+0

こんにちは、上のコードを見ることができますbin2hexコード化されたキーを解読しないでください最初に16進数からキーを解読する方法を作成する必要があります:)これは基本的なトリプル復号化です:) –

+0

私はbin2hexまたはhex2binあなたは別の解読の種類は何ですか? –

関連する問題