VisualBasic Web サービスに送信する文字列を暗号化する RSA アルゴリズムをコーディングしています。残念ながら、VB RSAcryptoserviceprovider は常に「Bad data」という例外を返します。これはエンコードに問題があります。VisualBasic コードは文字列を受け取り、windows-1252 エンコーディングを使用してバイト配列に変換し、復号化します。
私のJavaコードでは、これを使用して暗号化しています:
private static String encryptBlock(Cipher cipher, String textToEncrypt) {
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
String encrypted = new String(cipher.doFinal(textToEncrypt.getBytes(Charset.defaultCharset())), "windows-1252");
return encrypted;
}
暗号化された文字列を「system.out.print」すると、�のような奇妙な文字が表示されます。Windows-1252エンコーディングが間違っているということですか?ここで何が間違っていますか?変更できるのは Java コードのみであり、VB は変更できないことに注意してください。
ありがとうございました!