码迷,mamicode.com
首页 > 移动开发 > 详细

Android MD5加密、RSA加密

时间:2017-10-12 20:28:11      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:问题   roi   补全   bsp   处理   加密解密   sdn   targe   article   

现在公司做金融项目,需要考虑安全加密方面的问题。感谢大牛同事(冯哥) ,给我很大的帮助。 

 

考虑到安全优化,我们把秘钥、加密步骤放到native中。考虑用到的技术:(1 )jni,(2 )OpenSSL加密库。

 

  android使用C++代码做加密操作:与之前的JNI开发不同的是, 自studio2.2起,增加了CMack外部构建工具,我们写C++代码也有自动补全提示了。在创建工程时增加了选项【】Include C++ Support,勾选上它,自动创建NDK工程。

 创建工程前需要配置好NDK需要的工具,还有环境没配好可能导致C++代码不提示

 这里参考自:http://blog.csdn.net/cuiyufeng2/article/details/64125594

 

我创建的NDK工程如下:

技术分享

 

 与我们平时的java工程不同的地方:

 .externalNativeBuild文件夹(自动生成)、cpp文件夹(存放C++代码)、CMakeLists.txt文件(CMake脚本配置的文件) 、app下的build.gradle(CMakeLists.txt文件的路径)。

这里需要注意下,创建的C代码.cpp文件,都需要在CMakeLists.txt文件中指明路径,否则会报错找不到。

 

引入OpenSSL加密库,openssl封装了大量的加密算法,大大简化了我们的加密操作。这里就不多说了,下面我会放上自己的小demo。

 

这里提一句:***** MD5加密是不可逆的,不要说错了。

还有使用RSA加密时,不能同一种秘钥加密解密。我们把公钥放在客户端,私钥放在服务器(为了安全,客户端不能有私钥)。

通常项目开发中,客户端公钥加密后的数据传给服务器,服务接到数据后拿私钥解密;服务器处理完的结果再用私钥加密后传给客户端,客户端接到服务给的数据后拿公钥解密查看结果。

 

demo: https://github.com/HeavenDong/EncryptDemo   

 

Android MD5加密、RSA加密

标签:问题   roi   补全   bsp   处理   加密解密   sdn   targe   article   

原文地址:http://www.cnblogs.com/donghaifeng-2016/p/7657488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!