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");
Смотрите также: Связанные действия
|