PHP项目中mcrypt加密如何实现,代码是什么
Admin 2022-08-16 群英技术资讯 576 次浏览
PHP中mcrypt加密实例如下:
<?php //当前mcrypt支持的加密模型 $modes_list = mcrypt_list_modes(); // Array // ( // [0] => cbc // [1] => cfb // [2] => ctr // [3] => ecb // [4] => ncfb // [5] => nofb // [6] => ofb // [7] => stream // ) //当前mcrypt支持的算法 $algorithms_list = mcrypt_list_algorithms(); // Array // ( // [0] => cast-128 // [1] => gost // [2] => rijndael-128 // [3] => twofish // [4] => cast-256 // [5] => loki97 // [6] => rijndael-192 // [7] => saferplus // [8] => wake // [9] => blowfish-compat // [10] => des // [11] => rijndael-256 // [12] => serpent // [13] => xtea // [14] => blowfish // [15] => enigma // [16] => rc2 // [17] => tripledes // [18] => arcfour // ) $key = "this is secret key"; $input = "Let us meet at 9 o'clock at the secret place"; //加密过程 $td = mcrypt_module_open('tripledes','','ecb','');//设置加密模式和算法 $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);// 创建iv(初始化向量) mcrypt_generic_init($td,$key,$iv);// 根据密钥和iv初始化$td,完成内存分配等初始化工作 $encrypted_data = mcrypt_generic($td,$input);// 进行加密 mcrypt_generic_deinit($td);// 反初始化$td,释放资源 mcrypt_module_close($td); //解密过程 $td = mcrypt_module_open('tripledes','','ecb',''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND); mcrypt_generic_init($td,$key,$iv); $decrypted_data = mdecrypt_generic($td,$encrypted_data); mcrypt_generic_deinit($td); mcrypt_module_close($td); /** * 一个简单功能的加密解密类 * @author LHL 2016.08.03 */ class Mcrypt { /** * 获取key */ 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)); mcrypt_generic_init($td, $key, $iv); $ret = trim(mdecrypt_generic($td, base64_decode($value))) ; mcrypt_generic_deinit($td); mcrypt_module_close($td); return $ret; } } $sec = Mcrypt::encrypt('abc'); echo Mcrypt::dencrypt($sec);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在PHP中,预定的的$_GET变量用于收集来自method="get"的表单中的值。$_GET变量是一个数组,内容是由HTTP GET方法发送的变量名称和值。下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
首先打开php.ini查看phpinfo()方法是否被禁用,然后把phpinfo()方法从disable_functions中删除掉,重新加载php.ini文件,再通过浏览器访问test.php即可。
对于php发送网络请求,我们最常用的请求就是curl,有时我们也会用到file_get_contents函数发送网络请求。本文为大家总结了php实现网络请求的方法及函数,感兴趣的可以学习一下
phpstorm打开控制台的方法:首先选择菜单Run->Edit Configurations选项->删除JavaScript Debug中文件;然后点击run按钮;接着右键选中文件;最后按ctrl+f5运行即可打开控制台。
这篇文章主要介绍了shell编程入门之变量,字符串,数组,函数使用方法总结,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008