Безопасность данных стала жизненно важным аспектом современного цифрового мира. С ростом числа утечек данных и кибератак компании ищут способы защитить свои конфиденциальные данные.
Mendix предлагает безопасную платформу для создания и развертывания приложений. В этом блоге мы обсудим сквозное шифрование в Mendix с использованием модуля сквозного шифрования, который я создал для Mendix Marketplace. Модуль использует JavaScript AES из библиотеки CryptoJs для шифрования на стороне клиента.
Расширенный стандарт шифрования
Advanced Encryption Standard, или сокращенно AES, — это широко используемый алгоритм шифрования, который шифрует и расшифровывает данные. Это симметричный алгоритм шифрования, который означает, что для шифрования и дешифрования используется один и тот же ключ. Шифрование AES считается одним из самых безопасных и широко используемых для шифрования данных.
В этом блоге будет рассказано о том, как был создан этот модуль, как он работает, а также дано объяснение кода.
Версия Mendix
Для этого модуля требуется Mendix Studio Pro версии 8.17.0 или выше.
Скачать с торговой площадки
Как это работает
Модуль сквозного шифрования используется для передачи данных, когда данные зашифрованы от отправителя к получателю. Шифрование выполняется на конечных точках, и данные остаются зашифрованными во время передачи. Сквозное шифрование обеспечивает безопасный метод передачи данных, поскольку данные недоступны никому, кроме отправителя и получателя.
Чтобы реализовать сквозное шифрование в 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.