0

暗号化と復号化が完了した後、いくつかの問題に直面しています。JAVA Crypt API を使用してクエリ文字列 (ホスト名とコンテキストではない) を暗号化/復号化しようとしています。どのような種類の文字列を取得するかはわかりません。まあ、これは適切に行われています。この暗号化が完了したら、この URL を JS 関数に渡す必要があります。そこでUnterminated String Constantのスローに失敗しました。ここでの問題は、/キャラクターなどにあります。

また、最初の暗号化が行われていないため、他の文字はほとんどありません。例: +

また、暗号化された文字列にいくつかの改行が見られます。なぜこの改行?それは暗号化の一部ですか?ここで、この問題を引き起こしている文字を把握したいと思います。これらの文字セットを使用しないように暗号化アルゴリズムに伝えたいと思います。これを達成する方法はありますか?

4

2 に答える 2

2

私は Java と Crypt API に詳しくありませんが、エンコーディングに問題があるようです。暗号化の出力はバイナリであるため、API がエンコードする可能性が高く、デフォルトでエンコードされているように見えbase64ます。したがって、API仕様を調べて、エンコーディングを変更/設定する方法を確認し、16進数などの別のエンコーディングを使用しました。

API の暗号化された出力を取得し、base64 デコーダー (Linuxbase64ツールまたはオンライン デコーダー) を介して渡すことで、仮定をテストできます。

于 2012-12-04T13:19:19.210 に答える
0

この URL を JS 関数に渡す必要があります。ここで、未終了の文字列定数のスローに失敗しました

Javascript で使用するには、実際にこの文字列をエスケープする必要があるように思えます。たとえば、Apache Commons StringEscapeUtils.escapeJavascript()を参照してください。

暗号化を文字ごとに制御できるとは思えません。使用されるアルゴリズムに依存しますが、データのチャンクを見てデータのブロックを生成する可能性があります。結局のところ、それは暗号化です。

于 2012-12-04T12:54:42.317 に答える