由于参与的app项目,一些敏感数据在android和ios交互中明文传输风险很大
所以使用对称加密算法aes,这种算法android、ios都有很好的支持,当然使用https也是个选择
参考:http://blog.csdn.net/huangwenkui1990/article/details/48292865

1、确认linux有没有安装mcrypt库
# yum list installed|grep mcrypt
libmcrypt.x86_64 2.5.8-4.el5.centos installed
libmcrypt-devel.x86_64 2.5.8-4.el5.centos installed
mcrypt.x86_64 2.6.8-1.el5 installed
以上显示已经安装过,若没有,则执行下面命令进行安装
# yum install libmcrypt libmcrypt-devel mcrypt mhash

执行后会显示即将安装的相关库,你可以根据你的linux限定x86_64或者i386,如yum install libmcrypt.x86_64(如果yum命令无法连接仓库,请检查你的/etc/yum.repos.d/里的文件正确性,以及你的/etc/host是不是可达里面的域名)


2、下载php下的mcrypt扩展或者直接下载php的完整安装包
http://cn.php.net/releases/ 网页下找到自己服务器的php版本,下载后tar解压(本人的是5.4.43),进入ext/mcrypt文件夹


# cd ext/mcrypt/
# phpize
# ./configure
# make && make install


3、php加载mcrypt扩展

extension_dir = "/usr/lib64/php/modules/"
extension=mcrypt.so

保存退出,重启服务

service php-fpm restart
service nginx restart



4、测试,查看phpinfo信息,如下图所示:




5、代码测试
<?php
class AMPCrypt {
private static function getKey(){
return md5('exampleKey');
}
public static function encrypt($value){
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$key = substr(self::getKey(), 0, mcrypt_enc_get_key_size($td));
mcrypt_generic_init($td, $key, $iv);
$ret = base64_encode(mcrypt_generic($td, $value));
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $ret;
}
public static function dencrypt($value){
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
$key = substr(self::getKey(), 0, mcrypt_enc_get_key_size($td));
$key = substr(self::getKey(), 0, mcrypt_enc_get_key_size($td));
mcrypt_generic_init($td, $key, $iv);
$ret = trim(mdecrypt_generic($td, base64_decode($value))) ;
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return $ret;
}
}


$mcrypt=new AMPCrypt();
echo $mcrypt->encrypt('test');//wFJisbvfzKs=
?>

更多相关文章

  1. Android(安卓)Studio导入Android系统源码
  2. Android源码下载,亲测可用,解决了repo下载没有速度问题
  3. ARM11Mini6410 Android(安卓)开发环境搭建 [李园7舍_404]
  4. AndroVM 可以让你在虚拟机环境中运行 Android
  5. 如何下载并编译Android(安卓)4.0内核源码Goldfish
  6. Android的/system/lib里加入自己的so库
  7. Android(安卓)内核源码下载 (ubuntu)
  8. 电脑导出文件到手机 adb push
  9. 【ADT】亲测、有图goagent解决ADT下载过慢的问题

随机推荐

  1. android 开机 lanucher
  2. AsyncHttpClient的使用
  3. Android(安卓)SQLiteDatabase使用总结
  4. 踩坑日记-Android版本9 API28 NetworkSec
  5. Android(安卓)锁屏和黑屏的广播消息
  6. Android(安卓)源码解析之Adapter和Adapte
  7. MediaCodec基本原理及使用
  8. Android的Activity的启动流程分析
  9. MVP模式的Android(安卓)调用系统拍照,相册
  10. Glide 在Android(安卓)9.0上不显示图片