いいえ、平文の 16 進数表現を作成する必要はありません。
アプリケーション内の文字列である可能性が高いテキストから始めています。この文字列には、ASCII や UTF-16LE などのデフォルトの文字エンコードがまだ含まれていない可能性があります。デフォルトのエンコーディングがない場合は、平文をバイト (バイト配列またはオクテット文字列とも呼ばれます) にエンコードする必要があります。UTF-8 は、現在最も広く使用されている文字エンコーディングです。
これをもう少し興味深いものにするために、ほとんどの IDE とデバッガーは、表示時にバイトを 16 進数で表示します。これはメモリ内のバイト値の単なる表現です。バイトはメモリ内で 16 進数としてエンコードされていません。
現代の暗号は平文のバイトを取り、それらを暗号文のバイトに変換します。文字列を返す場合、API にはアルゴリズムに含まれるデフォルトのエンコード方法があります (たとえば、PHP は自動的にエンコードすることが知られています)。これは、暗号自体ではなく、その API の一部です。
繰り返しになりますが、暗号文が自動的にエンコードされない場合は、自分でバイトをエンコードする必要がある場合があります。16 進数 (暗号文のサイズを簡単に確認できるのでデバッグが容易) またはより効率的な Base64 エンコーディングを使用できます。ただし、バイトではなく文字列の暗号文が必要な場合にのみエンコードする必要があります。文字列が必要な例の 1 つは XML です。XML はテキスト形式です (通常、暗号文はCDATA
セクション内にあります)。