Encryption
IR.CreateEncryption()
Создать объект шифрования.
Синтаксис
RSA:
IR.CreateEncryption(encryption_type, key_size)
IR.CreateEncryption(encryption_type, key, is_public)
AES:
IR.CreateEncryption(encryption_type, AES_object)
| на входе | значение | описание |
|---|---|---|
| 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 Объект шифрования |
//////////////Объект шифрования AES////////////////
//CBC:
//Создание объекта с данными:
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"
}
//Создание объекта шифрования:
var AES = IR.CreateEncryption(IR.ENCRYPTION_AES, l_AESInit);
//ECB:
//Создание объекта с данными:
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
}
//Создание объекта шифрования:
var AES = IR.CreateEncryption(IR.ENCRYPTION_AES, l_AESInit);
//////////////Объект шифрования RSA////////////////
//Создание объекта шифрования с ключом размером 128 байт:
var RSA_1 = IR.CreateEncryption(IR.ENCRYPTION_RSA, 128);
var public_key = RSA_1.GetPublicKey(); // получение публичного ключа
//Создание объекта шифрования с помощью публичного ключа:
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 Зашифрованные данные |
// Кодировать данные с результатом base64
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 Расшифрованные данные |
// Декодировать encode_base64 со строковым результатом:
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()
| на входе | значение | описание |
|---|---|---|
| EncryptedData | "246,75,186,52,183, ..." | type: String Зашифрованные данные. / Array |
| на выходе | ||
| PublicKey | "60,25,57,21,96,..." | type: String Публичный ключ. |
Пример
// Инициализация объекта шифрования:
var RSA_1 = IR.CreateEncryption(IR.ENCRYPTION_RSA, 128);
//Получение публичного ключа:
var public_key = RSA_1.GetPublicKey();
IR.Log("public key: " + public_key);
Примечания
Подсказка
Данный метод работает только с RSA шифрованием.