Android上的基本加密

时间:2010-08-25 11:44:30

标签: android encryption

我见过示例here。一切都很好,我理解它,但它依赖于提供商的bounceycastle库。如果我能提供帮助,我不想将任何其他第三方库与我的应用程序捆绑在一起。我不需要堡垒风格的安全性,只需要一些基本的对称加密来通过线路传输。如何在Android上使用第三方库进行基本加密?

谢谢

2 个答案:

答案 0 :(得分:5)

  

如果我能提供帮助,我不想将任何其他第三方库与我的应用捆绑在一起。

您不需要第三方库来使用javax.crypto。有使用javax.crypto的在线示例,例如thisthis。如果您需要Base64编码器,Android 2.2中有一个,或者也有开源实现。

答案 1 :(得分:5)

BouncyCastle包含在Android中,因为您可以看到是否会尝试包含它:D/dalvikvm( 9268): DexOpt: not verifying 'Lorg/bouncycastle/x509/extension/SubjectKeyIdentifierStructure;': multiple definitions等等。

但是,并非所有算法都已实现 - 您将获得NoSuchAlgorithmException。 在Android 2.2中,我发现了这些实现:

PBEWITHSHAAND128BITAES-CBC-BC PBEWITHSHAAND3-KEYTRIPLEDES-CBC 1.2.840.113549.1.1.7 PBEWITHSHA256AND256BITAES-CBC-BC PBEWITHSHAAND192BITAES-CBC-BC DESEDE DES 1.2.840.113549.3.7 PBEWITHSHAAND2-KEYTRIPLEDES-CBC 1.3.14.3.2.7 PBEWITHSHA256AND192BITAES-CBC-BC PBEWITHSHAAND256BITAES-CBC-BC PBEWITHSHAAND40BITRC2-CBC AES 2.16.840.1.101.3.4.1.42 PBEWITHSHA256AND128BITAES-CBC-BC 2.16.840.1.101.3.4.1.22 2.16.840.1.101.3.4.1.2