首页 > 解决方案 > 如何读取 http 响应正文中的加密消息?

问题描述

我有一个好几天都找不到的问题。我需要解密响应消息,但加密的消息在响应的正文中。加密消息编码为字符串(例如:base64)。

响应正文:

{"status":"1","message":"o¨:\u0005Í#cÒßàÂîà\u0015°;æ5\r÷\u00267\u0015èÕ ðC35Á\u003c\u0007whq`{1fv\u000bÀ¯\u00188?Í2,`zpT rÚAÖ\u0005þ9¯¢@rëQ}COQQÄd]\u000b\bRU¯~E:ßUpgÊó\u0010XôØ\u001aræ|\u0007(KÉS\u0000dNr\u0003¾ zi0á\u0017¯ò°j\u0015éÕ÷µ\u0017 \u001a4\u0018u£Iûô\nQ\fâ\u000bÃO¼Õîðѳ?åýÝ\u003c{A\u000e\u00275+УÜÅQ\u0026´EµÁ\u0016$\u0010Ù\t~|¼0*º41ÒL~Ŭ{­A\u0014²\u001cµÉ tÎåhTØÍt@\u0010ð^0sZ\u003d\u003d\u00010ñZ\"\u000e\t)\u001e\u0005ªÆKÑÜÓ©Uä¦wÙ3ó¡{oúh®aÉ/B´\u0019\u001bÿ+¯óÍ\u0004»÷çôÏ°xsh.,Ó`¤7\u0007é^ÇÈ1/Ä\u0026¦1\u001cÕívpÖ¯_Àý\tÎø½dÍæ]\u001e\u0017\u0000IÄÙ;í\u0007ek4ÇF§gk\u0015\u001d¯t[\"²\f\u001bPÿíiì\fªô+\u003e£~ß \tAb¿\u001b\u0011{Ê7\rf\u0017g\u001e¤\u0004o\u000e×ÐôL\u001dè1¥¯åÀi\u001c.BiÞ\u0019Ü\f³Ù\u0006`ØiÏËP쾯uÉØt\u0026QÖ^¶\u001a??\u001doc\u0003ï9\u001c»û\u0007\u0014\u0012\u001c\u001dMÂDpWkLdOD­ò¥C\u0017ÖAkmÍ~½\u0005¡ë,}0É\u0005]v°u+øüüñMïçîf¯¹\u0016ç4ÏÈ\u0003Ì01\u0011dÈïü¥§USÔHFÇÌ¡+CF"}

响应头:

X-Application-Context : application
Date : Wed, 06 Feb 2019 08:59:20 GMT
Content-Type : text/plain;charset=ISO-8859-1
Transfer-Encoding : chunked

我需要在message参数中解密。我试着用谷歌搜索它,几乎每个答案都说加密器应该首先将结果编码为字符串。但就我而言,我无法让加密器做到这一点。加密器也不想告诉如何读取message.

每次我使用我找到的解决方案时,我总是得到同样的错误:

Input length must be multiple of 16 when decrypting with padded cipher

加密使用AES/CBC/PKCS5Padding. 我使用 java spring 解密消息。提前致谢。

标签: javaencryptionutf-8salt

解决方案


推荐阅读