Crypto.RijndaelEncryptString

string Crypto.RijndaelEncryptString ( string Text,
string Key,
string IV )
Примеры

Описание

Шифрует строку, используя алгоритм AES, совместимый с реализацией .NET Framework. Реализация в этом плагине приводит к тому же результату как следующий код .NET:
RijndaelManaged rman = new RijndaelManaged();
rman.Mode = CipherMode.CBC;
rman.Padding = PaddingMode.PKCS7;
rman.KeySize = 256;
//  Use a 32-byte key (for 256-bit encryption)
byte [] keyBytes = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 };
//  The IV for AES is 16 bytes, because the AES block size is 16.
byte [] ivBytes = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
ICryptoTransform encryptor = rman.CreateEncryptor(keyBytes, ivBytes);
byte [] plainText = System.Text.Encoding.UTF8.GetBytes("This is a test");
byte [] encrypted = encryptor.TransformFinalBlock(plainText, 0, plainText.Length);
//  Expected output is 31k+86baFy9GJKQ9Y1ebCw==
//  textBox1.Text = Convert.ToBase64String(encrypted);

Параметры

Text

(строка) Строка, которую Вы хотите зашифровать.

Key

(таблица) Секретный ключ с которым будут зашифрованы данные. Это - таблица, содержащая 32 байта (числа в пределах от от 0 до 255).

IV

(таблица) Вектор инициализации с которым будут зашифрованы данные. Это - таблица, содержащая 16 байтов (числа в пределах от от 0 до 255).

Возврат

ResultVariable

(строка) Зашифрованная строка. Если данные не могут быть зашифрованы, или происходит некоторая другая ошибка, возвращается пустая строка (""). Можно использовать Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия

Примеры

Пример 1

-- create the secret key with 32 bytes
key = {};
for i = 1, 32 do
    key[i] = i - 1;
end
-- create the initialization vector with 16 bytes
iv = {};
for i = 1, 16 do
    iv[i] = i - 1;
end
source = "This is a test";
encoded = Crypto.RijndaelEncryptString(source, key, iv);
Debug.Print(encoded .. "\r\n");
decoded = Crypto.RijndaelDecryptString(encoded, key, iv);
Debug.Print(decoded .. "\r\n");
Смотрите также: Связанные действия