技术干货 > 文章详情

5个安卓加密工具,远离黑客

马克克3年前

       最近央视的315晚会把移动安全,网络安全推上了一个新高度。在互联网高速发展的同时,也将促使网络安全的高速发展。作为一个安卓开发的新手,该怎么保障自己开发的应用的安全性,这里推荐5个简单又实用的安卓加密工具。


 L.png


       1.Bouncy Castle

  充气城堡军团是一个来自澳大利亚的公益团体,他们编写了 Bouncy Castle 这个广泛使用的类库。该库既提供了一个轻量级的密码学 API,也是一个 Java 密码扩展(JCE)的提供者。安卓平台已经内置了一个精简过的老版本 Bouncy Castle(同时为了适配安卓平台也做了一些细小的改动)。结果就是任何在应用程序中构建和使用最新版本 BouncyCastle 类库的尝试都将导致类加载冲突。


  2.Spongy Castle

  Spongy Castle 背后的动机是允许安卓开发者在应用程序中使用任意版本的 BouncyCastle 类库。SpongyCastle 就是对最新版本的 BouncyCastle 进行了简单地重新打包;所有的 org.bouncycastle.* 包重命名为了 org.spongycastle.*,所有 Java安全 API 提供者的名字由 BC 改为了 SC。


  3.OpenSSL

  OpenSSL 是一个实现了 SSL 和 TLS 协议以及通用密码库的开源工具包。OpenSSL 已经被移植到了很多平台,包括安卓。做为一个替代方案,你也可以从源码构建(使用安卓 NDK),然后绑定到应用程序中。

  现在我们假设出于应用程序的目的,你想要加密一些数据。你会使用哪个加密算法,AES 还是 DES?你的秘钥多长,128 还是 256 比特?你会使用哪种加密模式,ECB 还是 CBC?如果你对所有这些问题都没有答案,也没有好的理由,那么你可能发现你正处在一个微妙的位置,虽然你拥有所有你想要的工具,但是你一点儿都不确定使 用哪个、如何使用。

  与通用密码学库相反,这些工具包通常只支持一部分算法、模式、结构、参数。对于通用加密工具需要设定的部分,这些工具包为你提供了合理的默认值 ,以防你知道想要什么,但是不知道如何使用,或者只在乎最终有个安全的解决方案。让我们检查几个这类工具包以便来更好的理解它们的运行规则。


  4.Keyczar

  Keyczar 是一组开源工具包,最初由两位 Google Security Team(谷歌安全团队)成员开发。 它用 Java,Python 和 C++ 语言实现。它支持对称加密和费堆成加密两种鉴权方式。Keyczar 提供安全的默认设定,包括算法,秘钥长度和模式,秘钥循环和版本化,初始向量(vector)和授权码自动生成,支持国际化。该工具包基于JCE构建, ( here ),使用了Spongy Castle的安全提供程序。


  5.AeroGear Crypto

  AeroGear Crypto 是 AeroGear 提供的一个小的 Java 库。 它支持可认证的对称加密,椭圆曲线加密,基于密码的秘钥推导。它也提供了算法的显式设定。AeroGear Crypto 在 android 平台依赖Spongy Castle,在其他平台上依赖 Bouncy Castle。该库在 iOS,Windows Phone 和 Cordova 上同样可用。


  不管你决定选用哪个加密工具都好,都应避免自己实现加密算法和加密协议; 应该只使用那些广泛应用的,普遍认可的,经受考验的算法和协议。


       希望每个安卓应用开发者在不断开发出丰富易用的应用的同时,也不要忘记他的安全性。


推荐阅读:最受安卓开发者喜爱的10款工具

            安卓开发的小技巧


推荐免费视频:从实战讲解安卓开发

——————

  版权保护声明:本文仅代表作者观点,麦子学院可能会进行删节修改,但不代表麦子学院的官方立场。我们极其尊重并保护原创作品的版权,若原作者有任何疑问,请联系微信号:chengxuyuan8。


 





10

登录 后参与讨论

没有更多评论了

免费领取价值1888元求职宝典!

客服热线 400-862-8862

回到顶部