Безопасность данных стала жизненно важным аспектом современного цифрового мира. С ростом числа утечек данных и кибератак компании ищут способы защитить свои конфиденциальные данные.

Mendix предлагает безопасную платформу для создания и развертывания приложений. В этом блоге мы обсудим сквозное шифрование в Mendix с использованием модуля сквозного шифрования, который я создал для Mendix Marketplace. Модуль использует JavaScript AES из библиотеки CryptoJs для шифрования на стороне клиента.

Расширенный стандарт шифрования

Advanced Encryption Standard, или сокращенно AES, — это широко используемый алгоритм шифрования, который шифрует и расшифровывает данные. Это симметричный алгоритм шифрования, который означает, что для шифрования и дешифрования используется один и тот же ключ. Шифрование AES считается одним из самых безопасных и широко используемых для шифрования данных.

В этом блоге будет рассказано о том, как был создан этот модуль, как он работает, а также дано объяснение кода.

Версия Mendix

Для этого модуля требуется Mendix Studio Pro версии 8.17.0 или выше.

Скачать с торговой площадки

https://marketplace.mendix.com/link/component/117709

Как это работает

Модуль сквозного шифрования используется для передачи данных, когда данные зашифрованы от отправителя к получателю. Шифрование выполняется на конечных точках, и данные остаются зашифрованными во время передачи. Сквозное шифрование обеспечивает безопасный метод передачи данных, поскольку данные недоступны никому, кроме отправителя и получателя.

Чтобы реализовать сквозное шифрование в Mendix, нам нужно использовать JavaScript. В Mendix JavaScript можно использовать для расширения функциональности платформы. В этом случае мы будем использовать JavaScript для реализации шифрования AES.

Создание действия шифрования

Первым шагом является создание нового действия JavaScript в проекте Mendix. В действии JavaScript мы создадим функцию для шифрования данных с использованием алгоритма шифрования AES. Функция будет принимать два параметра: данные для шифрования и ключ, используемый для шифрования. Функция будет использовать библиотеку CryptoJS для шифрования данных с использованием алгоритма шифрования AES.

Вот код функции шифрования:

export async function ClientSide_Encryption(value,key) {
// BEGIN USER CODE 
// UTF8 STRING -> WORDARRAY IS AN ARRAY OF 32-BIT INTEGERS, EQUIVALENT TO BINARY
let keyHex = CryptoJS.enc.Utf8.parse(key);
let ivHex = CryptoJS.enc.Utf8.parse(key);
let messageHex = CryptoJS.enc.Utf8.parse(value);
let encrypted = CryptoJS.AES.encrypt(messageHex, keyHex, {
    iv:ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pd.Pkcs7
});
    return encrypted.toString();
    //return encrypted.ciphertext.toString(); for binary result
// END USER CODE
}

Создание действия расшифровки

Следующим шагом является создание другого действия JavaScript с функцией для расшифровки данных с использованием алгоритма шифрования AES. Функция принимает два параметра: зашифрованные данные и ключ, используемый для расшифровки. >. Функция будет использовать библиотеку CryptoJS для расшифровки данных с использованием алгоритма шифрования AES.

Вот код функции расшифровки:

export async function ClientSide_decryption(encryptedValue,key) {
// BEGIN USER CODE 
// If it is not converted to base64 after encryption, then first convert to base64 and then pass in
  //let encryptedHexStr = CryptoJS.enc.Hex.parse(word); //converts from binsary text to binary
  //messageBase64 = CryptoJS.enc.Base64.stringify(encryptedHexStr) //Convert to base64
let keyHex = CryptoJS.enc.Utf8.parse(key);
let ivHex = CryptoJS.enc.Utf8.parse(key);
let decrypt = CryptoJS.AES.decrypt(encryptedValue, keyHex, {
    iv:ivHex,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pd.Pkcs7
});
let decryptedStr =decrypt.toString(Crypto.Js.enc.Utf8);
    return decryptedStr.toString();
// END USER CODE
}

После создания функций шифрования и дешифрования мы можем использовать их в нашем проекте Mendix. Зашифрованные данные могут храниться в базе данных Mendix, а функция расшифровки может использоваться для извлечения данных.

Важно: чтобы использовать это в своем приложении Mendix, вам нужно будет вызывать эти действия Javascript через Nanoflow как для Интернета, так и для Native Mobile. Программы

Заключение

Сквозное шифрование в Mendix с использованием шифрования AES JavaScript — это безопасный метод передачи данных. Шифрование AES широко используется для шифрования данных и считается одним из самых безопасных алгоритмов шифрования. Используя мой модуль сквозного шифрования с торговой площадки Mendix, вы можете расширить функциональность платформы и внедрить сквозное шифрование для защиты передачи данных в своем приложении.

Подробнее







От издателя —

Если вам понравилась эта статья, вы можете найти больше похожих на нашей Medium странице. Для просмотра отличных видео и прямых трансляций вы можете посетить MxLive или наше сообщество Страница YouTubee.

Для создателей, желающих начать работу, вы можете зарегистрировать бесплатную учетную запись и получить мгновенный доступ к обучению в нашей Академии.

Заинтересованы в более активном участии в нашем сообществе? Присоединяйтесь к нам в нашем Канале сообщества Slack.