Поскольку JavaScript является языком сценариев слабого типа, различные проблемы возникают, когда он взаимодействует с основанием на основе сильного типа, особенно операциями шифрования и дешифрования. Поскольку я столкнулся с проблемой использования JS и Java для шифрования и расшифровки друг друга во время моей работы, я искал много информации и сегментов кода в Интернете, но их нельзя было решить. После суммирования содержания нескольких документов я наконец нашел решение. Я запишу его следующим образом:
Вот два метода шифрования JavaScript AES. Конкретные детали следующие:
Первый тип: когда секретный ключ (ключ) и смещение секретного ключа (IV) требуются во время шифрования и дешифрования, онлайн -проверка: http://www.seacha.com/tools/aes.html
// Этот метод может быть взаимно зашифрован и расшифрован с помощью Java <! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <Title> AES шифрование и дешифрование секретного ключа (ключ) и секретный ключ (iv) </title> </Head> <clod> <crppt> src = "aes_1.js"> </script> // Импортированный файл JS находится в этой ссылке: https://github.com/hellobajie/aes-of-javascript<script> var key = cryptojs.enc.utf8.parse ("шестнадцатизпанный шестилетний номер в виде секретного ключа"); var iv = cryptojs.enc.utf8.parse ('Hext-Bit Hexadecimal Number как смещение ключей'); Функция Encrypt (word) {srcs = cryptojs.enc.utf8.parse (word); var incrypted = cryptojs.aes.encrypt (srcs, key, {iv: iv, mode: cryptojs.mode.cbc, padding: cryptojs.pad.pkcs7}); incrypted.ciphertext.tostring (). Touppercase ();} функция Decrypt (word) {var incryptedHexstr = cryptojs.enc.hex.parse (word); var srcs = cryptojs.enc.base64.strify (encryptedHexst IV: IV, режим: cryptojs.mode.cbc, padding: cryptojs.pad.pkcs7}); var decryptedstr = decrypt.tostring (cryptojs.enc.utf8); Вернуть DecryptedStr.toString ();} var mm = incrypt ('nihao') console.log (mm); var jm = decrypt (mm); console.log (jm) </script> </body> </html> // Если вы хотите иметь глубокое понимание каждого шага, вы можете обратиться к: http://zhidao.baidu.com/question/647688575019014285.html?qbl=relate_question_0&word=javascript%20aesВторой тип: требуется только секретный ключ при шифровании и расшифровке, а онлайн -адрес проверки: http://encode.chahuo.com/
<! Doctype html> <html lang = "en"> <head> <meta charset = "UTF-8"> <Title> требуется только секретный ключ при шифровании и расшифровке </tit https://github.com/hellobajie/aes-of-javascript<script type = "text/javascript"> var pwd = "key"; function incrypt (word) {return cryptojs.aes.encrypt (word, pwd) .toString ();} функция Decrypt (Word) {return Word). Cryptojs.aes.decrypt (Word, pwd) .toString (cryptojs.enc.utf8);} var mm = incrypt ('nihao'); console.log (mm) var jm = decrypt (mm); console.log (jm) </script> </body> </html>;Выше приведены два метода шифрования JavaScript AES (могут быть взаимно зашифрованы и расшифрованы с помощью Java), представленные вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!