简体   繁体   English

将C#TripleDes PKCS7代码转换为php代码

[英]convert c# TripleDes PKCS7 code to php code

I have this code in C# 我在C#中有此代码

var dataBytes = Encoding.UTF8.GetBytes('clear text');

var symmetric = SymmetricAlgorithm.Create("TripleDes");
symmetric.Mode = CipherMode.ECB;
symmetric.Padding = PaddingMode.PKCS7;

var encryptor = symmetric.CreateEncryptor(Convert.FromBase64String('myKey'), new byte[8]);

var signedData = Convert.ToBase64String(encryptor.TransformFinalBlock(dataBytes, 0, dataBytes.Length));

now i need convert c# code to php code. 现在我需要将C#代码转换为php代码。 regard 看待

I use this function and worked for me 我使用此功能并为我工作

function encryptData($plainText,$key)
{

    $byte = mb_convert_encoding($key, 'ASCII');

    $desKey = base64_decode($key);
    $data = mb_convert_encoding($plainText, 'ASCII');

    // add PKCS#7 padding
    $blocksize = mcrypt_get_block_size('tripledes', 'ecb');
    $paddingSize = $blocksize - (strlen($data) % $blocksize);
    $data .= str_repeat(chr($paddingSize), $paddingSize);

    // encrypt password
    $encData = mcrypt_encrypt('tripledes', $desKey, $data, 'ecb');

    return base64_encode($encData);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM