現在、java.security.signatureを使用して署名を作成すると、文字列が返されます。文字列をnotepad++にコピーしたときにのみ表示される特殊文字があるため、この文字列を使用できないようです。これらの特殊文字を削除すると、プログラムで文字列の残りを使用できます。
メモ帳では、ACK GS STX SI SUB ETBBSVTという単語が付いたブラックボックスのように見えます。
私は彼らが何であるかを本当に理解していないので、彼らに乗る方法を言うのは難しいです。
これらの文字や類似している可能性のある文字を削除するために実行できる関数はありますか?
投稿で提供されているbase64クラスを使用すると、署名に戻ることができません
System.out.println(signature);
String base64 = Base64.encodeBytes(sig);
System.out.println(base64);
String sig2 = new String (Base64.decode(base64));
System.out.println(sig2);
出力を与えます
”zÌý¥y]žd”xKmËY³ÕN´Ìå}ÏBÊNÈ›`Αrp~jÖüñ0…Rõ…•éh?ÞÀ_û_¥ÂçªsÂk{6H7œÉ/”âtTK±Ï…Ã/Ùê²
lHrM/aV5XZ5klHhLbctZs9VOtMzlfc9Cyk7Im2DOkXJwfmoG1vzxMIVS9YWV6Wg/HQLewF/7X6XC56pzwmt7DzZIN5zJL5TidFRLsc+Fwy/Z6rIaNA2uVlCh3XYkWcu882tKt2RySSkn1heWhG0IeNNfopAvbmHDlgszaWaXYzY=
[B@15356d5