Перейти к основному содержимому

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_typeIR.ENCRYPTION_RSA
IR.ENCRYPTION_AES
type: Object
Тип шифрования
key_size32 (256 бит)
64 (512 бит)
128 (1024 бит)
256 (2048 бит)
512 (4096 бит)
type: Number
Размер ключа в байтах
key"60,25,57,21,96,..."type: String
Ключ
is_publictruetype: Boolean
true - публичный ключ,
false - приватный ключ
AES_objectl_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
Данные для шифрования
resultTypeIR.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
Зашифрованные данные
resultTypeIR.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 шифрованием.