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

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

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

本篇文章是对PHP写的加密函数且支持私人密钥进行了详细的分析介绍,需要的朋友参考下

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

代码如下:

  1.  

  2. <?php
     

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

  4. // 整理:https://www.gaodaima.com

  5.  

  6. function
     keyED(
    $txt
    ,$encrypt_key
    )
      

  7. {
      

  8.     $encrypt_key
     = md5
    (
    $encrypt_key
    )
    ;  

  9.     $ctr
    =0
    ;  

  10.     $tmp
     = “”
    ;  

  11.     for
     (
    $i
    =0
    ;$i
    <strlen(
    $txt
    )
    ;$i
    ++)
      

  12.     {
      

  13.         if
     (
    $ctr
    ==strlen
    (
    $encrypt_key
    )
    )
     $ctr
    =0
    ;  

  14.         $tmp
    .= substr
    (
    $txt
    ,$i
    ,1
    )
     ^ substr
    (
    $encrypt_key
    ,$ctr
    ,1
    )
    ;  

  15.         $ctr
    ++;  

  16.     }
      

  17.     return
     $tmp
    ;  

  18. }
      

  19.  

  20. function
     encrypt(
    $txt
    ,$key
    )
      

  21. {
      

  22.     srand
    (
    (
    double)
    microtime
    (
    )
    *1000000
    )
    ;  

  23.     $encrypt_key
     = md5
    (
    rand
    (
    0
    ,32000
    )
    )
    ;  

  24.     $ctr
    =0
    ;  

  25.     $tmp
     = “”
    ;  

  26.     for
     (
    $i
    =0
    ;$i
    <strlen(
    $txt
    )
    ;$i
    ++)
      

  27.     {
      

  28.         if
     (
    $ctr
    ==strlen
    (
    $encrypt_key
    )
    )
     $ctr
    =0
    ;  

  29.         $tmp
    .= substr
    (
    $encrypt_key
    ,$ctr
    ,1
    )
     . (
    substr
    (
    $txt
    ,$i
    ,1
    )
     ^ substr
    (
    $encrypt_key
    ,$ctr
    ,1
    )
    )
    ;  

  30.         $ctr
    ++;  

  31.     }
      

  32.     return
     keyED(
    $tmp
    ,$key
    )
    ;

  33. }
      

  34.  

  35. function
     decrypt(
    $txt
    ,$key
    )
      

  36. {
      

  37.     $txt
     = keyED(
    $txt
    ,$key
    )
    ;  

  38.     $tmp
     = “”
    ;  

  39.     for
     (
    $i
    =0
    ;$i
    <strlen(
    $txt
    )
    ;$i
    ++)
      

  40. 来源gaodaimacom搞#代%码网

  41.     {
      

  42.         $md5
     = substr
    (
    $txt
    ,$i
    ,1
    )
    ;  

  43.         $i
    ++;  

  44.         $tmp
    .= (
    substr
    (
    $txt
    ,$i
    ,1
    )
     ^ $md5
    )
    ;  

  45.     }
      

  46.     return
     $tmp
    ;  

  47. }
     

  48.  

  49. $key
     = “www.yitu.org”
    ;  

  50. $string
     = “我是加密字符”
    ;  

  51.  

  52. // encrypt $string, and store it in $enc_text  

  53. $enc_text
     = encrypt(
    $string
    ,$key
    )
    ;  

  54.  

  55. // decrypt the encrypted text $enc_text, and store it in $dec_text  

  56. $dec_text
     = decrypt(
    $enc_text
    ,$key
    )
    ;  

  57.  

  58. print
     “加密的 text : $enc_text

    ;  

  59. print
     “解密的 text : $dec_text

    ;  

  60. ?>
     

  61.  

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

以上就是PHP写的加密函数,支持私人密钥(详细介绍)的详细内容,更多请关注gaodaima搞代码网其它相关文章!


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

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

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

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

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