Я пытаюсь преобразовать эту функцию шифрования и дешифрования с C# на php
public static string EncryptBySymmetricKey(string text, string sek) {
//Encrypting SEK
try {
byte[] dataToEncrypt = Convert.FromBase64String(text);
var keyBytes = Convert.FromBase64String(sek);
AesManaged tdes = new AesManaged();
tdes.KeySize = 256;
tdes.BlockSize = 128;
tdes.Key = keyBytes;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform encrypt__1 = tdes.CreateEncryptor();
byte[] deCipher = encrypt__1.TransformFinalBlock(dataToEncrypt, 0, dataToEncrypt.Length);
tdes.Clear();
string EK_result = Convert.ToBase64String(deCipher);
return EK_result;
}
catch(Exception ex) {
throw ex;
}
}
public static byte[] DecryptBySymmetricKey(string encryptedText, byte[] key) {
//Decrypting SEK
try {
byte[] dataToDecrypt = Convert.FromBase64String(encryptedText);
var keyBytes = key;
AesManaged tdes = new AesManaged();
tdes.KeySize = 256;
tdes.BlockSize = 128;
tdes.Key = keyBytes;
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform decrypt__1 = tdes.CreateDecryptor();
byte[] deCipher = decrypt__1.TransformFinalBlock(dataToDecrypt, 0, dataToDecrypt.Length);
tdes.Clear();
string EK_result = Convert.ToBase64String(deCipher);
return EK_result;
}
catch(Exception ex) {
throw ex;
}
}
Может ли кто-нибудь помочь мне, что является правильным PHP-кодом для указанной выше функции C#. Здесь мне просто нужен тот же код C# в php.
Заранее спасибо
Привет, пожалуйста, не могли бы вы редактировать, чтобы ваш вопрос был как можно конкретнее: с каким входом вы тестируете, каков ожидаемый результат и какой точный результат или сообщение об ошибке вы видите. Посмотрите, сможете ли вы собрать минимальный воспроизводимый пример: какой-нибудь код, который кто-то может запустить самостоятельно, и протестируйте свои исправления.






и что это за ошибка? в какие стороны? PHP или C#?