PHP加密扩展库Mcrypt

DES算法暗示为MCRYPT_DES;

ECB模式暗示为MCRYPT_MODE_ECB;

<?php $str = "我的名字是?一般人我不汇报他!"; //加密内容 $key = "key:111"; //密钥 $cipher = MCRYPT_DES; //暗码范例 $modes = MCRYPT_MODE_ECB; //暗码模式 $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量 echo "加密明文:".$str."<p>"; $str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); //加密函数 echo "加密密文:".$str_encrypt." <p>"; $str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); //解密函数 echo "还原:".$str_decrypt; ?>

运行功效:
加密明文:我的名字是?一般人我不汇报他!
加密密文: 锍盌?]鸴?q攦軄L 笑 郺葄"簻 黙
还原:我的名字是?一般人我不汇报他!
<1>由例子中可看到,利用PHP加密扩展库Mcrypt对数据加密息争密之前,首先建设了一个初始化向量,简称为iv。由 $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);可见建设初始化向 量需要两个参数:size指定了iv的巨细;source为iv的源,个中值MCRYPT_RAND为系统随机数。
<2>函数mcrypt_get_iv_size($cipher,$modes)返回初始化向量巨细,参数cipher和mode别离指算法和加 密模式。
<3>加密函数$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); 该函数的5个参数分 别如下:cipher——加密算法、key——密钥、data(str)——需要加密的数据、mode——算法模式、 iv——初始化向量
<4>解密函数 mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); 该函数和加密函数的参数险些 一样,独一差异的是data,也就是说data为需要解密的数据$str_encrypt,而不是原始数据$str。
注:加密息争密函数中的参数cipher、key和mode必需一一对应,不然数据不能被还原

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7769.html