Java RSA加密问题

Java RSA加密问题,java,rsa,encryption,Java,Rsa,Encryption,基本上,我试图在Java客户机和c#server之间建立一个加密的数据流。 在跳入多平台加密工作的深渊之前,我正在尝试制作一个简单的加密应用程序,但我在一开始就被卡住了 我有以下简单的代码: String text = "hello"; KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA"); kpg.initialize(2048); KeyPair kp = kpg.genKeyPa

基本上,我试图在Java客户机和c#server之间建立一个加密的数据流。 在跳入多平台加密工作的深渊之前,我正在尝试制作一个简单的加密应用程序,但我在一开始就被卡住了

我有以下简单的代码:

String text = "hello";
        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
        kpg.initialize(2048);
        KeyPair kp = kpg.genKeyPair();
        Key publicKey = kp.getPublic();
        Key privateKey = kp.getPrivate();

        Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding");
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
        byte[] cipherData = cipher.doFinal(text.getBytes());

        cipher = Cipher.getInstance("RSA/ECB/NoPadding");
        cipher.init(Cipher.DECRYPT_MODE, privateKey);
        byte[] textData = cipher.doFinal(text.getBytes());

        String decrypted = new String(textData);
        System.out.println(decrypted);
没有引发异常,但解密后我没有得到原始的“hello”文本。 有什么想法吗? 10倍多

这看起来很可疑:

byte[] textData = cipher.doFinal(text.getBytes());
你是说:

byte[] textData = cipher.doFinal(cipherData);