Crypto.RijndaelEncryptString
Описание
Шифрует строку, используя алгоритм 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");
Смотрите также: Связанные действия
|