Вы должны были бы сериализовать шифротекст себя. Есть много способов сделать это.
Если ключ не является строкой, а WordArray
(как в вашем случае), то простой encryptedlogin.toString()
будет генерировать кодированную строку Base64, содержащую только зашифрованный текст. Помните, что вам нужно включить исходный файл enc-base64.js.
Если «ключ» (фактически пароль) является строкой, то применяется деривация ключа, совместимого с OpenSSL. В этом случае encryptedlogin.toString()
будет строкой, кодированной Base64, которая содержит строку «Salted__», 8-байтовую случайную соль и зашифрованный текст.
Если вы хотите получить зашифрованный текст, то encryptedlogin.ciphertext.toString()
предоставит вам строку с шестнадцатеричным кодированием, которая содержит только зашифрованный текст, а encryptedlogin.iv.toString()
предоставит вам кодировку с шестнадцатеричным кодированием. Таким образом вы можете создать строку с кодировкой Base64 encryptedlogin.ciphertext.toString(CryptoJS.enc.Base64)
.
Помните, что для каждого шифрования должен быть выбран случайный выбор для обеспечения семантической безопасности. Он не должен быть секретным, поэтому вы можете отправить его вместе с зашифрованным текстом.
На стороне сервера вы должны декодировать значения (Base64 или Hex в зависимости от того, что вы использовали во время шифрования), и использовать их с классом AesCryptoServiceProvider (или аналогичным) для расшифровки зашифрованного текста.
Помните, что вам дополнительно необходимо аутентифицировать ваш зашифрованный текст, чтобы обнаружить (злонамеренные) манипуляции. Это можно сделать с помощью схемы шифрования-затем-MAC с сильным MAC, например HMAC-SHA256.
Кроме того, если ключ передается вместе с зашифрованным текстом или над небезопасным каналом, то это в основном просто обфускация данных и не обеспечивает реальной безопасности. Подробнее: Javascript Cryptography Considered Harmful
Это протокол https. – dbugger
Есть ли какие-либо проблемы с моим ответом? Если нет, и он решил вашу проблему, вы можете [принять] (http://meta.stackexchange.com/q/5234/266187). –