显然,Spongy Castle是使用完整版Bouncy Castle的Android替代品.
但是,在导入jar时我遇到了各种"无法解决"的错误,因为它依赖于Android不包含的软件包,主要是javax.mail,javax.activation和javax.awt.datatransfer.
那么最好的解决方法是什么?回答这个问题,这表明不应该使用这些包,这个流行的问题甚至没有考虑找到一种方法来获得AWT.那么Spongy Castle如何依赖它们呢?人们正在使用Spongy Castle,对吧?
我如何使用Bouncy Castle提供程序来实现诸如Serpent和Twofish之类的算法,因为Sun的提供商根本不实现这些算法.我知道当多个提供商可以实现相同的算法时,您将获得最高等级提供商的实施,该提供商将成为Sun提供商.如果由于某种原因您想要使用特定提供程序的实现(可能因为您知道它更快),您可以在两个arg版本的getInstance()中指定提供程序.就我而言,Sun提供商根本没有实现我感兴趣的算法.
我试图实施Serpent:
public static final String FILE_EXTENSION = ".serpent";
public static final String PROVIDER = "BC"; // Bouncy Castle
public static final String BLOCK_CIPHER = "Serpent";
public static final String TRANSFORMATION = "Serpent/CBC/PKCS7Padding";
public static final String KEY_ALGORITHM = "PBKDF2WithHmacSHA1";
public static final String PRNG_ALGORITHM = "SHA1PRNG";
public static final int BLOCK_SIZE = 128; // bits
public static final int KEY_SIZE = 256; // bits
public static final int ITERATION_COUNT = 1024; // for PBE
/** Performs the encryption …Run Code Online (Sandbox Code Playgroud)