Was sind das für Daten?
Hallo, ich habe in JavaScript (ich hasse es) mit CryptoJS.AES.encode einen String verschlüsselt und mit decode wieder entschlüsselt. Leider kommt beim Entschlüsseln komisches Zeug raus. Was ist das, wohin muss ich das konvertieren, damit da am Ende meine gewollter String steht?
Code fürs Dekodieren:
let decryptedData = CryptoJS.AES.decrypt(response, pass).toString();
decryptedData = decryptedData.toString(CryptoJS.enc.Utf8);
Die response: https://pastebin.com/dVm5vkWW
Was rauskommt: https://pastebin.com/QhhJcwVq
Verschlüsselung: CryptoJS.AES.encrypt(daten, pass).toString()
EDIT: Problem hat sich gelößt, der Server hat die Daten falsch herausgegeben :facepalm:
2 Antworten
Probier Mal ein base64 decode. Vielleicht hilft das. Vielleicht wurde irgendwo etwas zu base64 encoded. Das wird häufig bei binären Daten gemacht, welche auch bei AES entstehen
Jetzt sind die Daten noch weirder: õÝ7ÑþÞi®=kfºyý<s�ÝÛ�ýsnÛÛ�|Ù½�mÎÜáÎ_íï5o½õkM^sMúsÇ´Ómy÷v�ß�<oÝ�á¯5sÞøsWzÝçxëÝùï��áç{×�9Ñ÷vÓ½Ýu¶´ÝÞ÷yöôkW�÷×�i½üß�½÷®Þßmx÷WÜß�{sßvi·<sfúë¾û×¾ûo·7å·|÷�·Ýï�q\wO�×øwÍöÓ®�íÆõÓ½]ß�ú{Ç]yîôÕîùw×ùog7ïßZëMzñ½´ë½}sÆúÑçuÙïuiÎ5÷½yåÎ;i½<ëÎ6oÏ8ënÜíï{ó]�i¿<å¾úÝî[×®Þ×NÝÕ·=éý6Ó�¸i§�}Æôãg¸ó^^çN}{M�á¿{Ó�zÝÆÚi¯|ß·ºkWÞï��Û®_ÝÎ�o^xÙ¾4óg¸Ó¾5ó��Ó×ýs~4{�öáÞ�íÍw÷¯]m÷�k_\×_tqíµã½4ó}Üåþøw^:çÞ¹o�[Û·¸i·ZóÏ�ã§|yï]Ñ¿[ñÞýç�7óÞ¼{M8Ó~ÛÛ½Üéþ<�Ö�}ƺ�}]ëmûëß�çǹÑ÷zo~ßuþôÛfùÙ®ýÛ×tݦ�Û�øuý{Ý×ýÝtÙ¦ÞyÝ]å×ýw·yÛ�]{M^÷Íô×·öß¶Üó�¼Ùî»{Í_÷�ösÝùwO]w^�Ñδéýý
Die zweite Zeile scheint mir überflüssig, viellecht liegt es daran
Tatsächlich ist sie überlüssig, es ändert aber nix...
probier mal
let decryptedData = CryptoJS.AES.decrypt(response, pass).toString(CryptoJS.enc.Utf8);
Ansonsten mal direkt verschlüsseln und wieder entschlüsseln ohne request. damit grenzt du den Fehler ein
Dann kommt eine Fehlermeldung "Uncaught Error: Malformed UTF-8 data"
Da kommt es im Klartext raus, also denke ich mal, das der Fehler beim Server irgendwo liegt
Wo müsste der hin?