2014-03-26 74 views
0

我试图解密这是通过Java,但没有运气enrypted XML ... 我试图像mcrypt_decrypt功能也跟着其他职位加密,但我不知道通过什么确切的参数。PHP代码解密XML通过Java

能有人帮我创建PHP函数来解密此。 我有加密XML的java代码。

private static String encrypt(String encryptionKey, String value) throws Exception{ 

    //Instantiate the encrypter/decrypter 
    String paddedValue = value; 
    if ((value.length() % 8) != 0) { 
     for (int i= 0; i< (8 - value.length() % 8); i++) { 
      paddedValue += ' '; 
     } 
    }    

    byte[] iv ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; 
    byte[] valueByteArray = paddedValue.getBytes("UTF8"); 

    SecretKeySpec desKey = new SecretKeySpec(encryptionKey.getBytes(), "DES"); 
    Cipher desCipher = Cipher.getInstance("DES/CBC/NoPadding"); 
    desCipher.init(Cipher.ENCRYPT_MODE, desKey, new IvParameterSpec(iv)); 

    // Encode the string into bytes using utf-8   
    // Encrypt 
    byte[] encryptedBytesArray = desCipher.doFinal(valueByteArray); 

    StringBuffer encryptedValue = new StringBuffer(1000000); 

    for (int i = 0, n = encryptedBytesArray.length; i < n; i++) { 
     String hex = (java.lang.Integer.toHexString(encryptedBytesArray[i] & 0XFF)); 
     if (hex.length() == 1) { 
      encryptedValue.append("0").append(hex); 
     } else { 
      encryptedValue.append(hex); 
     } 
    } 

    return encryptedValue.toString().toUpperCase(); 
} 

谢谢。

+0

什么是最后的PHP代码,你试过?也许分享加密和解密的XML也是一个好主意。 –

+1

'mcrypt_decrypt(MCRYPT_DES,$键,HEX2BIN($数据), “CBC”)'应该做的伎俩,虽然。 –

+0

@Jack我使用的是PHP代码 $ result = mcrypt_decrypt(“MCRYPT_3DES”,'secTotal',$ data,'cbc'); echo $ result; – Harshal

回答

0

您可以使用mcrypt_decrypt(),使用以下参数:

mcrypt_decrypt(MCRYPT_DES, $key, hex2bin($data), "cbc"); 

如果你没有hex2bin()您可以使用pack()

mcrypt_decrypt(MCRYPT_DES, $key, pack('H*', $data), "cbc"); 
+0

pack()的返回一些奇怪的输出如下 9¹μÕ¾Q¨õ¹&|ÒZøû¥±S'/ßNnªEfS²®MCK-^ N¿朱½èûáŠc......&˳Sþ&”, “@” í¼‰(¬çßLÌHE-QA¥b EE“” HNn''á¤#üÛ9™ØºË1óμŸFžéz51〜/ Y4' > 6]ƒó0§åÊÖ9ñŸÔ'Føã¨。>FÓ¼ñ8v〜Þý,ó(X-”哟÷Vû<[YC™JM “3EŽIIÄßwýâ!” WL-½Â|Ø9Ï(#üEý¨R)|‡OY:Ì~p‡SS'<ÔçüèÉU/ OAE•7K |YhelôpÐ#.®WÍÛózg,V |?!SV ...μõŠ¤ƒ4pt%I AA”XNÀ'R〜•一个OA YT =IÞS» – Harshal

+0

那么,它应该是'HEX2BIN合适的替代( )'。 –