php使用DES加密方式对图片内容进行加密处理
来源:互联网 发布:工业机器人您样编程 编辑:程序博客网 时间:2024/06/06 10:03
项目中遇到给第三方同步图片,要求传输图片内容的des加密后转base64格式在进行传输
下面提供了加密解密的代码
function encrypt($input) { $size = mcrypt_get_block_size('des', 'ecb'); $input = $this->pkcs5_pad($input, $size); $key = 'snPAujiK'; $td = mcrypt_module_open('des', '', 'ecb', ''); $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); @mcrypt_generic_init($td, $key, $iv); $data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = base64_encode($data); return $data;}function decrypt($encrypted) { $encrypted = base64_decode($encrypted); $key = 'snPAujiK'; $td = mcrypt_module_open('des','','ecb',''); //使用MCRYPT_DES算法,cbc模式 $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); $ks = mcrypt_enc_get_key_size($td); @mcrypt_generic_init($td, $key, $iv); //初始处理 $decrypted = mdecrypt_generic($td, $encrypted); //解密 mcrypt_generic_deinit($td); //结束 mcrypt_module_close($td); $y=$this->pkcs5_unpad($decrypted); return $y;}function pkcs5_pad ($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad);}function pkcs5_unpad($text) { $pad = ord($text{strlen($text)-1}); if ($pad > strlen($text)) return false; if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false; return substr($text, 0, -1 * $pad);} public function imgBase64($img_file){ //var_dump($img_file); //$img_file='/Public/Imagessm/58366657ccd78.png'; $arr=explode('/', $_SERVER['SCRIPT_NAME']); $str="/".$arr[1].$img_file; $filename=$_SERVER['DOCUMENT_ROOT'].$str; $online=M('online')->where('id=1')->find(); if($online!=NULL){ $filename = str_replace('/index.php', '', $filename); }// $filename = str_replace('/index.php', '', $filename); //这段代码由于本地和线上路径的差异在本地不需要,但在线上必须得要 //var_dump($filename); chmod($filename,777); $img_info = getimagesize($filename); $fp = fopen($filename,"r"); if($fp){ // var_dump($fp);die; $str = fread($fp,filesize($filename)); //读取图片内容 $desstr=$this->encrypt($str); //对图片内容进行des加密 fclose($fp); } return $desstr; //返回图片的base64}
imgBase64($img_file)中$img_file是图片在thinkPHP框架内部的相对路径
2 0
- php使用DES加密方式对图片内容进行加密处理
- 使用DES加密方式对文件进行加密
- 使用DES对资源进行加密解密
- 使用DES方法,对字符串进行加密
- PHP使用DES进行加密和解密
- PHP使用DES进行加密和解密
- PHP使用DES进行加密解密
- PHP使用DES进行加密解密
- PHP使用DES进行加密解密
- PHP进行3des加密
- 使用JCE进行DES加密
- 使用DES进行加密解密
- 使用OpenSSL进行DES加密
- 使用JAVA对字符串进行DES加密解密
- 使用异或对图片进行加密
- 使用Md5 的加密方式 ,对字符串进行加密
- 采用DES加密方式对properties配置文件敏感信息加密处理
- 对文件进行对称的DES加密
- 【Android基础笔记14】Android数据存储——External和Internal Storage
- cubietruck如何搭建nfs环境
- 【C语言】 LeetCode 151. Reverse Words in a String
- JAVA中List和Map用法与区别(上)
- 万年历的C语言写法
- php使用DES加密方式对图片内容进行加密处理
- Fragment-踩坑
- Shell学习第一天
- c语言总结之存储类\作用域\生命周期\链接属性(const)--1
- 根据listview的条目长度撑满pop的自定义ListView
- 实战:从零开始制作一个跑步微信小程序
- android隐藏标题栏
- H5移动端常见问题及注意事项
- 【C语言】LeetCode 165. Compare Version Numbers