我正在编写 RSA 算法来加密要发送到 VisualBasic Web 服务的字符串。不幸的是,VB RSAcryptoserviceprovider 总是给我一个例外“坏数据”,我这个问题是编码。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。
谢谢!