php自定义加密解决实现代码
PHP 的 Mcrypt 加密库又需要额外设置,很多人都是直接使用md5()函数加密,这个方法的确安全,但是因为md5是不可逆加密,无法还原密码,因此也有一些不便之处,本文介绍加密函数支持私钥,用起来还是不错的.
php自定义加密解决实现代码如下:
<?php // 说明:PHP 写的加密函数,支持私人密钥 function keyED( $txt , $encrypt_key ) { $encrypt_key = md5( $encrypt_key ); $ctr =0; $tmp = "" ; for ( $i =0; $i < strlen ( $txt ); $i ++) { if ( $ctr == strlen ( $encrypt_key )) $ctr =0; $tmp .= substr ( $txt , $i ,1) ^ substr ( $encrypt_key , $ctr ,1); $ctr ++; } return $tmp ; } function encrypt( $txt , $key ) { srand((double)microtime()*1000000); $encrypt_key = md5(rand(0,32000)); $ctr =0; $tmp = "" ; for ( $i =0; $i < strlen ( $txt ); $i ++) { if ( $ctr == strlen ( $encrypt_key )) $ctr =0; $tmp .= substr ( $encrypt_key , $ctr ,1) . ( substr ( $txt , $i ,1) ^ substr ( $encrypt_key , $ctr ,1)); $ctr ++; } return keyED( $tmp , $key ); } function decrypt( $txt , $key ) { $txt = keyED( $txt , $key ); $tmp = "" ; for ( $i =0; $i < strlen ( $txt ); $i ++) { $md5 = substr ( $txt , $i ,1); $i ++; $tmp .= ( substr ( $txt , $i ,1) ^ $md5 ); } return $tmp ; } $key = "YITU.org" ; $string = "我是加密字符" ; // encrypt $string, and store it in $enc_text $enc_text = encrypt( $string , $key ); // decrypt the encrypted text $enc_text, and store it in $dec_text $dec_text = decrypt( $enc_text , $key ); //开源代码phpfensi.com print "加密的 text : $enc_text <Br> " ; print "解密的 text : $dec_text <Br> " ; ?>查看更多关于php自定义加密解决实现代码 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30813