代码之家  ›  专栏  ›  技术社区  ›  Crowe T. Robot

Java到Python RSA

  •  3
  • Crowe T. Robot  · 技术社区  · 15 年前

    我正在尝试将一个字符串从Java加密到Python,在客户端使用Bouncy Castle J2ME库,在另一端使用Python M2Crypto库。

    一切都很好,我可以正确解密,但填充是问题所在。

    M2Crypto库(据我所知)只提供以下填充方案: 无填充=3 pkcs1_padding=1 sslv23_padding=2

    而bouncy castle J2ME仅提供: 不加 带衬垫的橡皮擦 SSL3填充

    因此,我可以在两者之间使用NoPadding,但解密后生成的字符串将填充混乱的字符。

    我真的很想整理填充,但我不知道如何在填充方案之间转换/如果可能的话。

    2 回复  |  直到 15 年前
        1
  •  2
  •   sth Alien    14 年前

    弹性城堡提供填充物。例如,如果您想制作带有PKCS1填充的RSA,则必须执行以下操作:

    public static PKCS1Encoding create_rsa_public(RSAKeyParameters PublicKey){
        RSAEngine engine=new RSAEngine();
        PKCS1Encoding encrypto=new PKCS1Encoding(engine);
        encrypto.init(true,PublicKey);
        return encrypto;
    }
    

    该函数将返回一个带有PKCS1编码的RSA引擎。

        2
  •  1
  •   jitter    15 年前

    RSAEngine 哪个实现 AsymmetricBlockCipher PKCS1 还是不?

    而且似乎也有 OAEP