当前位置:科技动态 > PHP编写的加密函数支持私钥(详细介绍)_php小技巧

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

  • 发布:2023-10-06 23:52

在开发PHP系统时,成员部分往往是必不可少的模块,而密码处理是不得不面对的问题。 PHP Mcrypt 加密库需要额外的设置。很多人直接使用md5()函数来加密。这种方法确实安全,但是由于md5是不可逆加密,密码无法恢复,所以存在一些不便。本文介绍支持私有加密的加密功能。钥匙挺好用的。
代码如下:
PHP:

复制代码 代码如下:






  1. //说明:PHP编写的加密函数支持私钥


  2. //整理:http :/ /www.sychzs.cn




  3. 功能
    keyED(
    $txt
    ,$加密_key )


  4. {
      


  5.     $加密_密钥
    = md5
    (
    $加密_密钥) )
    ;


  6.     $ctr
    =0


  7.     $tmp
    =""
    ;


  8.     对于
     (
    $i
    =0
    ;$i
    (
    $txt
    )
    ;$i
    ++)
      


  9.     {
      


  10.         if
     (
    $ctr
    == strlen
    (
    $加密密钥
    )
    )
     $ctr
    =0


  11.         $tmp
    .= substr
    (
    $txt
    ,$i
    ,1
    )
     ^ substr
    (
    $加密密钥
    ,$ctr
    ,1
    )
    ;


  12.         $ctr
    ++;


  13.     }
      


  14.     返回
     $tmp


  15. }
      


  16.  


  17. 功能
     加密(
    $txt
    ,$钥匙
    )
      


  18. {
      


  19.     srand
    (
    (
    ) 微时间
    (
    )
    *1000000
    )
    ;


  20.     $加密密钥
    = md5
    (
    rand
    () ,32000
    )
    )
    ;


  21.     $ctr
    =0


  22.     $tmp
    =""
    ;


  23.     对于
     (
    $i
    =0
    ;$i
    (
    $txt
    )
    ;$i
    ++)
      


  24.     {
      


  25.         if
     (
    $ctr
    == strlen
    (
    $加密密钥
    )
    )
     $ctr
    =0


  26.         $tmp
    .= substr
    (
    $加密密钥
    ,$ctr
    ,1
    )
    (
    substr
    (
    $txt
    ,$i
    ,1
    )
     ^ substr
    (
    $加密密钥
    ,$ctr
    ,1
    )
    )
    ;


  27.         $ctr
    ++;


  28.     }
      


  29.     返回
     keyED(
    $tmp
    ,$key
    )
    ;


  30. }
      


  31.  


  32. 函数
    解密(
    $txt
    ,$钥匙
    )
      


  33. {
      


  34.     $txt
     = keyED(
    $txt
    ,$钥匙
    )
    ;


  35.     $tmp
    = ""
    ;


  36.     对于
     (
    $i
    =0
    ;$i
    (
    $txt
    )
    ;$i
    ++)
      


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


  38.         $i
    ++;


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


  40.     }
      


  41.     返回
     $tmp


  42. }




  43. $key
    = "www.sychzs.cn"
    ;


  44. $string
    = "我是加密角色"
    ;




  45. // 加密$string,并存储在$enc_text


  46. $enc_text
    = 加密(
    $string , $钥匙
    )
    ;




  47. //解密密文$enc_text,存入$dec_text


  48. $dec_text
    = 解密 (
    $enc_text
    , $钥匙
    )
    ;




  49. print
    "加密文本:$enc_text
    "

    ;


  50. print
    "解密文本:$dec_text
    "

    ;


  51. ?>






每次加密后的结果都不同,大大增强了密码的安全性。

相关文章

最新资讯