Parce qu'il ne s'agit plus de données de chaîne UTF-8, ma chère. Vous l'avez chiffré. DES génère des données binaires illisibles. Si vous forcez l'interprétation d'une nouvelle chaîne selon le codage UTF-8, elle sera bien sûr tronquée. Si elle peut être lue directement, à quoi sert-elle de la chiffrer ? Parce que la plupart des données cryptées sur la base d'algorithmes mathématiques génèrent des blocs binaires ou diffusent des données. Ce n'est qu'après le décryptage que le texte original peut être lu. Si vous souhaitez que les données cryptées soient stockées sous forme de texte ou de transmission HTTP, vous pouvez encoder les données avec BASE64. Après l'encodage, ce sera une chaîne ASCII sans caractères tronqués (bien sûr, les humains ne peuvent toujours pas la comprendre) .
Cela peut être dû au fait que vous ne comprenez pas la différence entre le flux de données d'octets de mémoire et la chaîne Si vous avez utilisé un éditeur de texte pour afficher les données en affichage hexadécimal, vous n'aurez pas cette question. Chaîne La raison pour laquelle les chaînes peuvent être affichées est parce que les données en mémoire sont conformes à certaines règles de codage, telles que le codage UTF-8 Mais généralement, les données cryptées sont un flux de données mémoire complet, qui ne respecte pas les règles de codage des chaînes de caractères, donc quand. vous utilisez avec force les règles d'encodage de chaîne pour l'analyser, cela deviendra du "code tronqué
".
Mais si le but du cryptage n’est pas correct, alors les gens ne peuvent pas le comprendre
Parce qu'il ne s'agit plus de données de chaîne UTF-8, ma chère. Vous l'avez chiffré. DES génère des données binaires illisibles. Si vous forcez l'interprétation d'une nouvelle chaîne selon le codage UTF-8, elle sera bien sûr tronquée. Si elle peut être lue directement, à quoi sert-elle de la chiffrer ?
Parce que la plupart des données cryptées sur la base d'algorithmes mathématiques génèrent des blocs binaires ou diffusent des données. Ce n'est qu'après le décryptage que le texte original peut être lu.
Si vous souhaitez que les données cryptées soient stockées sous forme de texte ou de transmission HTTP, vous pouvez encoder les données avec BASE64. Après l'encodage, ce sera une chaîne ASCII sans caractères tronqués (bien sûr, les humains ne peuvent toujours pas la comprendre) .
Après le cryptage, il s'agit d'un tableau d'octets. Tous les tableaux d'octets ne peuvent pas être convertis en chaînes via new String()
Cela peut être dû au fait que vous ne comprenez pas la différence entre le flux de données d'octets de mémoire et la chaîne
".Si vous avez utilisé un éditeur de texte pour afficher les données en affichage hexadécimal, vous n'aurez pas cette question.
Chaîne La raison pour laquelle les chaînes peuvent être affichées est parce que les données en mémoire sont conformes à certaines règles de codage, telles que le codage UTF-8
Mais généralement, les données cryptées sont un flux de données mémoire complet, qui ne respecte pas les règles de codage des chaînes de caractères, donc quand. vous utilisez avec force les règles d'encodage de chaîne pour l'analyser, cela deviendra du "code tronqué
Mais si le but du cryptage n’est pas correct, alors les gens ne peuvent pas le comprendre
Ce sont juste des caractères tronqués
Après le cryptage, il devrait être illisible.
Il existe un article similaire ici https://segmentfault.com/q/10...
Pourquoi pensez-vous que ce n’est pas du charabia ?
Après le cryptage, il s'agit généralement d'un tableau d'octets, qui peut être converti en chaîne hexadécimale
Après le cryptage, vous pouvez utiliser Base64,