程序中经常使用的PHP加密解密字符串函数
代码如下:
<span /*</span><span ******************************************************************** 函数名称:encrypt 函数作用:加密解密字符串 使用方法: 加密 :encrypt('str','E','nowamagic'); 解密 :encrypt('被加密过的字符串','D','nowamagic'); 参数说明: $string :需要加密解密的字符串 $operation:判断是加密还是解密:E:加密 D:解密 $key :加密的钥匙(密匙); http://www.cnblogs.com/roucheng/ ********************************************************************</span><span */</span> <span function</span> encrypt(<span $string</span>,<span $operation</span>,<span $key</span>=''<span ) { </span><span $key</span>=<span md5</span>(<span $key</span><span ); </span><span $key_length</span>=<span strlen</span>(<span $key</span><span ); </span><span $string</span>=<span $operation</span>=='D'?<span base64_decode</span>(<span $string</span>):<span substr</span>(<span md5</span>(<span $string</span>.<span $key</span>),0,8).<span $string</span><span ; </span><span $string_length</span>=<span strlen</span>(<span $string</span><span ); </span><span $rndkey</span>=<span $box</span>=<span array</span><span (); </span><span $result</span>=''<span ; </span><span for</span>(<span $i</span>=0;<span $i</span><=255;<span $i</span>++<span ) { </span><span $rndkey</span>[<span $i</span>]=<span ord</span>(<span $key</span>[<span $i</span>%<span $key_length</span><span ]); </span><span $box</span>[<span $i</span>]=<span $i</span><span ; } </span><span for</span>(<span $j</span>=<span $i</span>=0;<span $i</span><256;<span $i</span>++<span ) { </span><span $j</span>=(<span $j</span>+<span $box</span>[<span $i</span>]+<span $rndkey</span>[<span $i</span>])%256<span ; </span><span $tmp</span>=<span $box</span>[<span $i</span><span ]; </span><span $box</span>[<span $i</span>]=<span $box</span>[<span $j</span><span ]; </span><span $box</span>[<span $j</span>]=<span $tmp</span><span ; } </span><span for</span>(<span $a</span>=<span $j</span>=<span $i</span>=0;<span $i</span><<span $string_length</span>;<span $i</span>++<span ) { </span><span $a</span>=(<span $a</span>+1)%256<span ; </span><span $j</span>=(<span $j</span>+<span $box</span>[<span $a</span>])%256<span ; </span><span $tmp</span>=<span $box</span>[<span $a</span><span ]; </span><span $box</span>[<span $a</span>]=<span $box</span>[<span $j</span><span ]; </span><span $box</span>[<span $j</span>]=<span $tmp</span><span ; </span><span $result</span>.=<span chr</span>(<span ord</span>(<span $string</span>[<span $i</span>])^(<span $box</span>[(<span $box</span>[<span $a</span>]+<span $box</span>[<span $j</span>])%256<span ])); } </span><span if</span>(<span $operation</span>=='D'<span ) { </span><span if</span>(<span substr</span>(<span $result</span>,0,8)==<span substr</span>(<span md5</span>(<span substr</span>(<span $result</span>,8).<span $key</span>),0,8<span )) { </span><span return</span> <span substr</span>(<span $result</span>,8<span ); } </span><span else</span><span { </span><span return</span>''<span ; } } </span><span else</span><span { </span><span return</span> <span str_replace</span>('=','',<span base64_encode</span>(<span $result</span><span )); } }</span>
使用方法:
<span $id</span> = 132<span ; </span><span $token</span> = encrypt(<span $id</span>, 'E', 'a'<span ); </span><span echo</span> '加密:'.encrypt(<span $id</span>, 'E', 'a'<span ); </span><span echo</span> '<br />'<span ; </span><span echo</span> '解密:'.encrypt(<span $token</span>, 'D', 'a');
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
刺客信条阴影 - 如何找到铁匠,解锁武器和装甲定制
1 个月前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
<🎜>:死铁路 - 如何完成所有挑战
3 周前ByDDD

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver CS6
视觉化网页开发工具