2012-06-22 48 views
-3

我嘗試解密用本地貨幣轉移服務使用PHP加密的數據。如何使用C#解密來自使用PHP加密的數據的數據

有PHP示例如下:

<?php 

require_once('phpseclib/Crypt/AES.php'); 


define('API_PASSKEY', 'abcdefghijklmnop'); 

if($_SERVER['REMOTE_ADDR'] == '203.146.127.115' && isset($_GET['request'])) 
{ 
    $aes = new Crypt_AES(); 
    $aes->setKey(API_PASSKEY); 
    $_GET['request'] = base64_decode(strtr($_GET['request'], '-_,', '+/=')); 
    $_GET['request'] = $aes->decrypt($_GET['request']); 
    if($_GET['request'] != false) 
    { 
     parse_str($_GET['request'],$request); 
     $request['Ref1'] = base64_decode($request['Ref1']); 

     echo 'SUCCEED'; 
    } 
    else 
    { 
     echo 'ERROR|INVALID_PASSKEY'; 
    } 
} 
else 
{ 
    echo 'ERROR|ACCESS_DENIED'; 
} 
?> 

不過,我想用C#做解密。

我也設置了簡單的PHP加密文本進行測試,但無法用C#解密。

<?php 
include('phpseclib/Crypt/AES.php'); 

$aes = new Crypt_AES(); 

$aes->setKey('abcdefghijklmnop'); 

$plaintext = 'Hello'; 

$cryptoText = $aes->encrypt($plaintext) ; 

$cryptoText = base64_encode($cryptoText); 

echo $cryptoText . "<br/>"; 

echo $aes->decrypt(base64_decode($cryptoText)); 


?> 

我期待着您的好建議。

+2

你有什麼試過?框架中有AES解密支持。查看http://goo.gl/tFLwe – cecilphillip

+0

[在C#中使用AES加密]的可能重複(http://stackoverflow.com/questions/273452/using-aes-encryption-in-c-sharp) – Blorgbeard

回答

0

phpseclib在默認情況下使用CBC啓用PKCS#7填充和128位密鑰(如果有幫助)。

相關問題