Клиент использует C # для шифрования строки
И моему приложению необходимо сгенерировать ту же строку шифрования, чтобы соответствовать его строке шифрования
Но я могу только PHP / Javascript / Python
Как написать код PHP, Javascript или Python для генерации одинаковой строки шифрования
Например. Использование клиента «TAIEX» превратится в «JrmEfbwGlF7w67KemS2zWw ==»
Некоторая информация: AES, CBC, Rijndael, PKCS7, KeySize = 256, BlockSize = 128
Следующий код C # был предоставлен от Клиента
internal string GetAESEncryptString(string inputString)
{
string password = @"076FD250140F11E2892E0800200C9A66";
string saltString = @"5738C760140F11E2";
byte[] binputString = Encoding.UTF8.GetBytes(inputString);
byte[] saltBytes = Encoding.UTF8.GetBytes(saltString);
string encryptedData = null;
try
{
RijndaelManaged aes = new RijndaelManaged();
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(password, saltBytes, 100);
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
aes.KeySize = 256;
aes.Key = key.GetBytes(32);
aes.BlockSize = 128;
aes.GenerateIV();
aes.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
//aes.IV = key.GetBytes(16);
ICryptoTransform encryptor = aes.CreateEncryptor();
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write);
cryptoStream.Write(binputString, 0, binputString.Length);
cryptoStream.FlushFinalBlock();
cryptoStream.Close();
byte[] encryptBytes = memoryStream.ToArray();
encryptedData = Convert.ToBase64String(encryptBytes);
}
catch (Exception ex)
{
throw ex;
}
return encryptedData;
}
Спасибо, что нашли время. Я благодарю вас от всего сердца.