gpt4 book ai didi

PHP写的加密函数,支持私人密钥(详细介绍)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP写的加密函数,支持私人密钥(详细介绍)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

在开发PHP系统时,会员部分往往是一个必不可少的模块,而密码的处理又是不得不面对的问题,PHP 的 Mcrypt 加密库又需要额外设置,很多人都是直接使用md5()函数加密,这个方法的确安全,但是因为md5是不可逆加密,无法还原密码,因此也有一些不便之处,本文介绍加密函数支持私钥,用起来还是不错的. 代码如下: PHP

复制代码 代码如下

<ol><li class="li1"><div class="de1"> </div> </li> <li class="li1"><div class="de1"><span class="kw2"><?php</span>  </div> </li> <li class="li1"><div class="de1"><span class="co1">// 说明:PHP 写的加密函数,支持私人密钥 </span> </div> </li> <li class="li1"><div class="de1"><span class="co1">// 整理://www.zzvips.com </span> </div> </li> <li class="li2"><div class="de2"> </div> </li> <li class="li1"><div class="de1"><span class="kw2">function</span>  keyED<span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$encrypt_key</span> <span class="br0">)</span>    </div> </li> <li class="li1"><div class="de1"><span class="br0">{</span>    </div> </li> <li class="li1"><div class="de1">    <span class="re0">$encrypt_key</span>  = <span class="kw3">md5</span> <span class="br0">(</span> <span class="re0">$encrypt_key</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="re0">$ctr</span> =<span class="nu0">0</span> ;   </div> </li> <li class="li2"><div class="de2">    <span class="re0">$tmp</span>  = <span class="st0">""</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="kw1">for</span>  <span class="br0">(</span> <span class="re0">$i</span> =<span class="nu0">0</span> ;<span class="re0">$i</span> <strlen<span class="br0">(</span> <span class="re0">$txt</span> <span class="br0">)</span> ;<span class="re0">$i</span> ++<span class="br0">)</span>    </div> </li> <li class="li1"><div class="de1">    <span class="br0">{</span>    </div> </li> <li class="li1"><div class="de1">        <span class="kw1">if</span>  <span class="br0">(</span> <span class="re0">$ctr</span> ==<span class="kw3">strlen</span> <span class="br0">(</span> <span class="re0">$encrypt_key</span> <span class="br0">)</span> <span class="br0">)</span>  <span class="re0">$ctr</span> =<span class="nu0">0</span> ;   </div> </li> <li class="li1"><div class="de1">        <span class="re0">$tmp</span> .= <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$i</span> ,<span class="nu0">1</span> <span class="br0">)</span>  ^ <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$encrypt_key</span> ,<span class="re0">$ctr</span> ,<span class="nu0">1</span> <span class="br0">)</span> ;   </div> </li> <li class="li2"><div class="de2">        <span class="re0">$ctr</span> ++;   </div> </li> <li class="li1"><div class="de1">    <span class="br0">}</span>    </div> </li> <li class="li1"><div class="de1">    <span class="kw1">return</span>  <span class="re0">$tmp</span> ;   </div> </li> <li class="li1"><div class="de1"><span class="br0">}</span>    </div> </li> <li class="li1"><div class="de1"> </div> </li> <li class="li2"><div class="de2"><span class="kw2">function</span>  encrypt<span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$key</span> <span class="br0">)</span>    </div> </li> <li class="li1"><div class="de1"><span class="br0">{</span>    </div> </li> <li class="li1"><div class="de1">    <span class="kw3">srand</span> <span class="br0">(</span> <span class="br0">(</span> double<span class="br0">)</span> <span class="kw3">microtime</span> <span class="br0">(</span> <span class="br0">)</span> *<span class="nu0">1000000</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="re0">$encrypt_key</span>  = <span class="kw3">md5</span> <span class="br0">(</span> <span class="kw3">rand</span> <span class="br0">(</span> <span class="nu0">0</span> ,<span class="nu0">32000</span> <span class="br0">)</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="re0">$ctr</span> =<span class="nu0">0</span> ;   </div> </li> <li class="li2"><div class="de2">    <span class="re0">$tmp</span>  = <span class="st0">""</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="kw1">for</span>  <span class="br0">(</span> <span class="re0">$i</span> =<span class="nu0">0</span> ;<span class="re0">$i</span> <strlen<span class="br0">(</span> <span class="re0">$txt</span> <span class="br0">)</span> ;<span class="re0">$i</span> ++<span class="br0">)</span>    </div> </li> <li class="li1"><div class="de1">    <span class="br0">{</span>    </div> </li> <li class="li1"><div class="de1">        <span class="kw1">if</span>  <span class="br0">(</span> <span class="re0">$ctr</span> ==<span class="kw3">strlen</span> <span class="br0">(</span> <span class="re0">$encrypt_key</span> <span class="br0">)</span> <span class="br0">)</span>  <span class="re0">$ctr</span> =<span class="nu0">0</span> ;   </div> </li> <li class="li1"><div class="de1">        <span class="re0">$tmp</span> .= <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$encrypt_key</span> ,<span class="re0">$ctr</span> ,<span class="nu0">1</span> <span class="br0">)</span>  . <span class="br0">(</span> <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$i</span> ,<span class="nu0">1</span> <span class="br0">)</span>  ^ <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$encrypt_key</span> ,<span class="re0">$ctr</span> ,<span class="nu0">1</span> <span class="br0">)</span> <span class="br0">)</span> ;   </div> </li> <li class="li2"><div class="de2">        <span class="re0">$ctr</span> ++;   </div> </li> <li class="li1"><div class="de1">    <span class="br0">}</span>    </div> </li> <li class="li1"><div class="de1">    <span class="kw1">return</span>  keyED<span class="br0">(</span> <span class="re0">$tmp</span> ,<span class="re0">$key</span> <span class="br0">)</span> ; </div> </li> <li class="li1"><div class="de1"><span class="br0">}</span>    </div> </li> <li class="li1"><div class="de1"> </div> </li> <li class="li2"><div class="de2"><span class="kw2">function</span>  decrypt<span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$key</span> <span class="br0">)</span>    </div> </li> <li class="li1"><div class="de1"><span class="br0">{</span>    </div> </li> <li class="li1"><div class="de1">    <span class="re0">$txt</span>  = keyED<span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$key</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="re0">$tmp</span>  = <span class="st0">""</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="kw1">for</span>  <span class="br0">(</span> <span class="re0">$i</span> =<span class="nu0">0</span> ;<span class="re0">$i</span> <strlen<span class="br0">(</span> <span class="re0">$txt</span> <span class="br0">)</span> ;<span class="re0">$i</span> ++<span class="br0">)</span>    </div> </li> <li class="li2"><div class="de2">    <span class="br0">{</span>    </div> </li> <li class="li1"><div class="de1">        <span class="re0">$md5</span>  = <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$i</span> ,<span class="nu0">1</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1">        <span class="re0">$i</span> ++;   </div> </li> <li class="li1"><div class="de1">        <span class="re0">$tmp</span> .= <span class="br0">(</span> <span class="kw3">substr</span> <span class="br0">(</span> <span class="re0">$txt</span> ,<span class="re0">$i</span> ,<span class="nu0">1</span> <span class="br0">)</span>  ^ <span class="re0">$md5</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1">    <span class="br0">}</span>    </div> </li> <li class="li2"><div class="de2">    <span class="kw1">return</span>  <span class="re0">$tmp</span> ;   </div> </li> <li class="li1"><div class="de1"><span class="br0">}</span>   </div> </li> <li class="li1"><div class="de1"> </div> </li> <li class="li1"><div class="de1"><span class="re0">$key</span>  = <span class="st0">"www.yitu.org"</span> ;   </div> </li> <li class="li1"><div class="de1"><span class="re0">$string</span>  = <span class="st0">"我是加密字符"</span> ;   </div> </li> <li class="li2"><div class="de2"> </div> </li> <li class="li1"><div class="de1"><span class="co1">// encrypt $string, and store it in $enc_text   </span> </div> </li> <li class="li1"><div class="de1"><span class="re0">$enc_text</span>  = encrypt<span class="br0">(</span> <span class="re0">$string</span> ,<span class="re0">$key</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1"> </div> </li> <li class="li1"><div class="de1"><span class="co1">// decrypt the encrypted text $enc_text, and store it in $dec_text   </span> </div> </li> <li class="li2"><div class="de2"><span class="re0">$dec_text</span>  = decrypt<span class="br0">(</span> <span class="re0">$enc_text</span> ,<span class="re0">$key</span> <span class="br0">)</span> ;   </div> </li> <li class="li1"><div class="de1"> </div> </li> <li class="li1"><div class="de1"><span class="kw3">print</span>  <span class="st0">"加密的 text : $enc_text <Br> "</span> ;   </div> </li> <li class="li1"><div class="de1"><span class="kw3">print</span>  <span class="st0">"解密的 text : $dec_text <Br> "</span> ;   </div> </li> <li class="li1"><div class="de1"><span class="kw2">?></span>  </div> </li> <li class="li2"><div class="de2"> </div> </li> </ol> 。

每一次加密后的结果是不一样的,大大加强了密码的安全性. 。

最后此篇关于PHP写的加密函数,支持私人密钥(详细介绍)的文章就讲到这里了,如果你想了解更多关于PHP写的加密函数,支持私人密钥(详细介绍)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com