это должно работать
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Origin, Cache-Control, Pragma, Authorization, Accept, Accept-Encoding");
Ответ, который я получил, требовал пересмотра моего кода, но он работает:
public static string EncryptString(this string text, string passPhrase)
{
string result = null;
if(!String.IsNullOrEmpty(text))
{
byte [] initVectorBytes = Encoding.UTF8.GetBytes ( m_InitVector );
byte [] plainTextBytes = Encoding.UTF8.GetBytes ( text );
PasswordDeriveBytes password = new PasswordDeriveBytes ( passPhrase, null );
byte [] keyBytes = password.GetBytes ( m_Keysize / 8 );
RijndaelManaged symmetricKey = new RijndaelManaged ();
symmetricKey.Mode = CipherMode.CBC;
ICryptoTransform encryptor = symmetricKey.CreateEncryptor ( keyBytes, initVectorBytes );
MemoryStream memoryStream = new MemoryStream ();
CryptoStream cryptoStream = new CryptoStream ( memoryStream, encryptor, CryptoStreamMode.Write );
cryptoStream.Write ( plainTextBytes, 0, plainTextBytes.Length );
cryptoStream.FlushFinalBlock ();
byte [] cipherTextBytes = memoryStream.ToArray ();
memoryStream.Close ();
cryptoStream.Close ();
result = Convert.ToBase64String ( cipherTextBytes );
}
return result;
}
и
public static string DecryptString(this string text, string passPhrase)
{
string result = null;
if ( !String.IsNullOrEmpty ( text ) )
{
byte [] initVectorBytes = Encoding.UTF8.GetBytes ( m_InitVector );
byte [] cipherTextBytes = Convert.FromBase64String ( text );
PasswordDeriveBytes password = new PasswordDeriveBytes ( passPhrase, null );
byte [] keyBytes = password.GetBytes ( m_Keysize / 8 );
RijndaelManaged symmetricKey = new RijndaelManaged ();
symmetricKey.Mode = CipherMode.CBC;
ICryptoTransform decryptor = symmetricKey.CreateDecryptor ( keyBytes, initVectorBytes );
MemoryStream memoryStream = new MemoryStream ( cipherTextBytes );
CryptoStream cryptoStream = new CryptoStream ( memoryStream, decryptor, CryptoStreamMode.Read );
byte [] plainTextBytes = new byte [cipherTextBytes.Length];
int decryptedByteCount = cryptoStream.Read ( plainTextBytes, 0, plainTextBytes.Length );
memoryStream.Close ();
cryptoStream.Close ();
result = Encoding.UTF8.GetString ( plainTextBytes, 0, decryptedByteCount );
}
return result;
}