IR.CreateEncryption()
Создать объект шифрования.
Синтаксис RSA:
IR.CreateEncryption([encryption_type, key_size](#IR.CreateEncryption()))
IR.CreateEncryption([encryption_type, key, is_public](#IR.CreateEncryption()))
AES:
IR.CreateEncryption([encryption_type, AES_object](#IR.CreateEncryption()))
| encryption_type | IR.ENCRYPTION_RSA, IR.ENCRYPTION_AES | type: Object | Тип шифрования. | |
| key_size | 32(256 бит), 64(512 бит), 128(1024 бит), 256(2048 бит), 512(4096 бит) | type: Number | Размер ключа в байтах. | |
| key | "60,25,57,21,96,..." | type: String | Ключ. | |
| is_public | true | type: Boolean true - публичный ключ, false - приватный ключ. | ||
| AES_object | l_AESInit = "Vector": "56,2e,17, ...", "Key": "60,25,57, ..." | type: Object | Данные шифрования. | |
| на выходе | ||||
| Object | [object EnctyptionPrototype] | type: Object | Oбъект шифрования. |
//////////////<translate><!--T:13-->
Объект шифрования AES</translate>////////////////
//CBC:
//<translate><!--T:14-->
Создание объекта с данными:</translate>
var l_AESInit = {
"Vector": "56,2e,17,99,6d,09,3d,28,dd,b3,ba,69,5a,2e,6f,58",
"Key": "60,25,57,21,96,98,cd,10,cd,0b,44,00,03,7f,ba,6f"
}
//<translate><!--T:15-->
Создание объекта шифрования:</translate>
var AES = IR.CreateEncryption(IR.ENCRYPTION_AES, l_AESInit);
//ECB:
//<translate><!--T:16-->
Создание объекта с данными:</translate>
var l_AESInit = {
"Key": "60,25,57,21,96,98,cd,10,cd,0b,44,00,03,7f,ba,6f",
"Type": 1 // 1 = ENCRYPTION_AES_ECB, 0 = ENCRYPTION_AES_CBC
}
//<translate><!--T:17-->
Создание объекта шифрования:</translate>
var AES = IR.CreateEncryption(IR.ENCRYPTION_AES, l_AESInit);
//////////////<translate><!--T:18-->
Объект шифрования RSA</translate>////////////////
//<translate><!--T:19-->
Создание объекта шифрования с ключом размером 128 байт:</translate>
var RSA_1 = IR.CreateEncryption(IR.ENCRYPTION_RSA, 128);
var public_key = RSA_1.GetPublicKey(); // <translate><!--T:20-->
получение публичного ключа</translate>
//<translate><!--T:21-->
Создание объекта шифрования с помощью публичного ключа:</translate>
var RSA_2 = IR.CreateEncryption(IR.ENCRYPTION_RSA, public_key, true);
.Encode()
Зашифровать строку или массив данных.
''' Синтаксис ''' IR.CreateEncryption(param).Encode(data, resultType, inputType)
| data | "3,0,0,0,0, ..." | type: String / Array | Данные для шифрования. | |
| resultType | IR.RESULT_TYPE_ARRAY, IR.RESULT_TYPE_BASE64_STRING* | type: String / Array | Тип зашифрованного значения. | |
| inputType** | IR.INPUT_TYPE_BYTE_STRING, IR.INPUT_TYPE_BASE64_STRING | type: String | Тип параметра data. | |
| на выходе | ||||
| EncryptedData | "246,75,186,52,183, ..." | type: String / Array | Зашифрованные данные. |
// <translate><!--T:32-->
Кодировать данные с результатом base64</translate>
var encode_base64 = RSA_2.Encode(data, IR.RESULT_TYPE_BASE64_STRING);
IR.Log("BASE64 ENCODE: " + encode_base64);
- Вы можете получить строку в формате в Base64, чтобы не потерять данные.
- Действует только если data строка.
.Decode()
Расшифровать строку или массив данных.
''' Синтаксис ''' EncryptedData.Decode(data, resultType, inputType)
| data | "246,75,186,52,183, ..." | type: String / Array | Зашифрованные данные. | |
| resultType | IR.RESULT_TYPE_ARRAY, IR.RESULT_TYPE_STRING, IR.RESULT_TYPE_BASE64_STRING* | type: String / Array | Тип расшифрованного значения. | |
| inputType** | IR.INPUT_TYPE_BYTE_STRING, IR.INPUT_TYPE_BASE64_STRING | type: String | Тип параметра data. | |
| на выходе | ||||
| DecryptedData | "3,0,0,0,0, ..." | type: String / Array | Расшифрованные данные. |
// <translate><!--T:45-->
Декодировать encode_base64 со строковым результатом:</translate>
var decode_string_1 = RSA_1.Decode(encode_base64, IR.RESULT_TYPE_STRING, IR.INPUT_TYPE_BASE64_STRING);
IR.Log("STRING DECODE_FROM_BASE64: " + decode_string_1);
- Вы можете получить строку в формате в Base64, чтобы не потерять данные.
- Действует только если data строка.
.GetPublicKey()
Получить публичный ключ.
Синтаксис
EncryptedData.GetPublicKey()
| column | column | column |
|---|---|---|
| на входе | значение | описание |
| EncryptedData | "246,75,186,52,183, ..." | type: String Зашифрованные данные. / Array |
| column | column | column |
|---|---|---|
| на выходе | ||
| PublicKey | "60,25,57,21,96,..." | type: String Публичный ключ. |
Пример
//<translate> <!--T:52-->
Инициализация объекта шифрования:</translate>
var RSA_1 = IR.CreateEncryption(IR.ENCRYPTION_RSA, 128);
//<translate><!--T:53-->
Получение публичного ключа:</translate>
var public_key = RSA_1.GetPublicKey();
IR.Log("public key: " + public_key);
Примечания
Подсказка
Данный метод работает только с RSA шифрованием.