【问题标题】:How to Decrypt data with C# from data which encrypt with PHP如何用 C# 从用 PHP 加密的数据中解密数据
【发布时间】:2012-06-24 09:32:11
【问题描述】:

我尝试从本地汇款服务中解密使用 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));


?>

期待您的好建议。

【问题讨论】:

标签: c# php encryption aes


【解决方案1】:

phpseclib 默认使用 CBC 并启用 PKCS#7 填充和 128 位密钥(如果有帮助的话)。

【讨论】:

    猜你喜欢
    • 2012-10-14
    • 2012-06-10
    • 2018-08-04
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多