首页 > 代码库 > Discuz论坛写出的php加密解密处理类(代码+使用方法)
Discuz论坛写出的php加密解密处理类(代码+使用方法)
PHP加密解密也是常有的事,最近在弄相关的东西,发现discuz论坛里的PHP加密解密处理类代码,感觉挺不错,在用的时候,要参考Discuz论坛的passport相关函数,后面我会附上使用方法,先把类代码帖上来:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <?php /*======================================================== = 文件名称:cls.sys_crypt.php = 摘 要:php加密解密处理类 = 版 本:1.0 = 参 考:Discuz论坛的passport相关函数 =========================================================*/ class SysCrypt { private $crypt_key ; // 构造函数 public function __construct( $crypt_key ) { $this -> crypt_key = $crypt_key ; } public function php_encrypt( $txt ) { srand((double)microtime() * 1000000); $encrypt_key = md5(rand(0,32000)); $ctr = 0; $tmp = ‘‘ ; for ( $i = 0; $i < strlen ( $txt ); $i ++) { $ctr = $ctr == strlen ( $encrypt_key ) ? 0 : $ctr ; $tmp .= $encrypt_key [ $ctr ].( $txt [ $i ]^ $encrypt_key [ $ctr ++]); } return base64_encode (self::__key( $tmp , $this -> crypt_key)); } public function php_decrypt( $txt ) { $txt = self::__key( base64_decode ( $txt ), $this -> crypt_key); $tmp = ‘‘ ; for ( $i = 0; $i < strlen ( $txt ); $i ++) { $md5 = $txt [ $i ]; $tmp .= $txt [++ $i ] ^ $md5 ; } return $tmp ; } private function __key( $txt , $encrypt_key ) { $encrypt_key = md5( $encrypt_key ); $ctr = 0; $tmp = ‘‘ ; for ( $i = 0; $i < strlen ( $txt ); $i ++) { $ctr = $ctr == strlen ( $encrypt_key ) ? 0 : $ctr ; $tmp .= $txt [ $i ] ^ $encrypt_key [ $ctr ++]; } return $tmp ; } public function __destruct() { $this -> crypt_key = null; } } ?> |
建议将此类保存文件名为:cls.sys_crypt.php
使用方法说明:
1 2 3 4 5 6 7 8 9 | <?php //使用前请先引入类文件,如: include ‘cls.sys_crypt.php‘ ; $sc = new SysCrypt( ‘phpwms‘ ); $text = ‘110‘ ; print ( $sc -> php_encrypt( $text )); print ( ‘<br>‘ ); print ( $sc -> php_decrypt( $sc -> php_encrypt( $text ))); ?> |
本文标题: Discuz论坛写出的php加密解密处理类(代码+使用方法)
来自淘代码转载请注明
- PHP控制浏览器在指定时间内关闭
- PHP 中的大小写字母转换函数 首字母变大写
- PHP+IIS环境下Discuz无法上传图片的解决办法
- php实现MYSQL备份的类库
- PHP日期操作类代码-农历-阳历转换、闰年、计算天数等
- Discuz论坛写出的php加密解密处理类(代码+使用方法)
- PHP限制网页只能在微信内置浏览器中查看并显示
- phpinfo什么也不显示 不执行的原因及解决办法
Discuz论坛写出的php加密解密处理类(代码+使用方法)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。