• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-26) 27次浏览 已收录 0个评论

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

<ol><li class="li1"><div class="de1"> 



  • <?php



  • // 说明:PHP 写的加密函数,支持私人密钥



  • // 整理:http://www.gaodaima.com





  • 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
    = ke

    本&文来源gaodai^.ma#com搞#代!码网

    搞gaodaima代码yED(
    $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
    = “www.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
    )
    ;





  • print
    “加密的 text : $enc_text

    ;



  • print
    “解密的 text : $dec_text

    ;



  • ?>







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


    搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:PHP写的加密函数,支持私人密钥(详细介绍)_php技巧

    喜欢 (0)
    [搞代码]
    分享 (0)
    发表我的评论
    取消评论

    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址