RSA不同语言环境下的随机填充算法

阅读更多
    RSA随机填充算法种类,包括NoPadding、ISO10126Padding、OAEPPadding、PKCS1Padding、PKCS5Padding、SSL3Padding,OAEPPadding、PKCS1Padding等。
    .Net的实现用的是PKCS1Padding,而且只有这一种实现。
    Java的实现,主要通过Cipher.getInstance实现,传入的参数是描述为产生某种输出而在给定的输入上执行的操作(或一组操作)的字符串。必须包括加密算法的名称,后面可能跟有一个反馈模式和填充方案。这样的实现就比较灵活,我们可以通过参数指定不同的反馈模式和填充方案;比如Cipher.getInstance("RSA/ECB/PKCS1Padding"),或者Cipher.getInstance("RSA")均可,但用其加密的效果也会不一样;java中默认填充方式是RSA/ECB/PKCS1Padding。
    Android的默认填充算法不是(没找到是什麽),但可以指定为以下类型。
RSA/ECB/NoPadding 1+
RSA/ECB/OAEPPadding 1+
RSA/ECB/OAEPwithSHA-1andMGF1Padding 10+
RSA/ECB/OAEPwithSHA-256andMGF1Padding 10+
RSA/ECB/PKCS1Padding 1+
RSA/NONE/NoPadding 1+
RSA/NONE/OAEPPadding 1+
RSA/NONE/OAEPwithSHA-1andMGF1Padding 10+
RSA/NONE/OAEPwithSHA-256andMGF1Padding 10+
RSA/NONE/PKCS1Padding 1+

https://developer.android.com/reference/javax/crypto/Cipher.html

你可能感兴趣的:(RSA,填充算法,Android,java)