2016-03-30 18 views
6

il seguente codice decifra una stringa in VB:Come decodificare la stringa TripleDESCryptoService in php?

Public Function Desencriptar(ByVal Input As String) As String 

     Dim IV() As Byte = ASCIIEncoding.ASCII.GetBytes("abcdefgh") 
     Dim EncryptionKey() As Byte = Convert.FromBase64String("hereGoesTheKey") 
     Dim buffer() As Byte = Convert.FromBase64String(Input) 
     Dim des As TripleDESCryptoServiceProvider = New TripleDESCryptoServiceProvider 
     des.Key = EncryptionKey 
     des.IV = IV 
     Return Encoding.UTF8.GetString(des.CreateDecryptor().TransformFinalBlock(buffer, 0, buffer.Length())) 

    End Function 

Mi piacerebbe sapere come duplicare questo processo in uno script php per un servizio mobile app. Grazie.

+0

PHP da solo non può, ma con "plugin" si può essere in grado di, (ricerca, installare, aggiornare php.ini) –

+1

Si sta utilizzando la crittografia algoritmo per la compatibilità con un'applicazione legacy? Se non usi 'AesCryptoServiceProvider' poiché usa' AES che è più forte di quello attuale ... – Codexer

+0

Puoi fornire testo di cifratura campione, chiave e testo in chiaro previsto per il test? – miken32

risposta

2
this code might help. 
<?php 
    $key = "123456"; 
    function pkcs7_pad($text, $blocksize) 
    { 
     $pad = $blocksize - (strlen($text) % $blocksize); 
     return $text . str_repeat(chr($pad), $pad); 
    } 

    $input = pkcs7_pad("test", 16);//16byte 
    // $key = md5(utf8_encode($key), true); 
    $td = mcrypt_module_open('tripledes', '', 'ecb', '');//ecb mode 
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); 
    mcrypt_generic_init($td, $key, $iv); 
    $encrypted_data = mcrypt_generic($td, $input); 
    mcrypt_generic_deinit($td); 
    mcrypt_module_close($td); 

    echo base64_encode($encrypted_data); 
?> 

e vi prego di guardare su questo link per maggiori dettagli 3DES

+0

questo non funziona la stessa crittografia, decrittografia come la vb class Im che mostra e restituisce sempre valori diversi –

Problemi correlati