zoukankan      html  css  js  c++  java
  • PHP中几种加密形式

    1.Md5加密和Crypt都是单向加密:

    登陆时把登录密码转为md5值,然后和数据库中的进行比较。

     

    其中crypt中的盐值支持多种:
    以CRYPT_STD_DES是以/0-9A-Za-z/中的两个字符为盐值,如果是以CRYPT_MD5中以$1$开始的12个字符的字符串盐值
    例如:crypt('imooc','this is zmj')就会只取th为盐值和加密后的imooc拼接。
     
    2.sha1加密算法:也是单向加密

    3.URL编码加密技术:

    区别:urlencode把空格变成了+,经过rawurlencode是把空格变成了%20

    url编码用途:可以编码汉字,还可以针对url传参数时,参数的值为abd&dff形式
     
    4.

    这样就可以输出图片
     
    总结:

     

     

     //加密字符串

     1 function encrypt($encrypt,$key="key") {
     2 
     3     $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
     4 
     5     $passcrypt = mcrypt_encrypt ( MCRYPT_RIJNDAEL_256, $key, $encrypt, MCRYPT_MODE_ECB, $iv );
     6 
     7     $encode = base64_encode ( $passcrypt );
     8 
     9     return $encode;
    10 
    11 }

    //解密字符串

    1 function decrypt($decrypt,$key="key") {
    2     $decoded = base64_decode ( $decrypt );
    3     $iv = mcrypt_create_iv ( mcrypt_get_iv_size ( MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB ), MCRYPT_RAND );
    4     $decrypted = mcrypt_decrypt ( MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_ECB, $iv );
    5     return $decrypted;
    6 
    7 }

    1.mcrypt简单介绍

    PHP程序员们在编写代码程序时,除了要保证代码的高性能之外,还有一点是非常重要的,那就是程序的安全性保障。PHP除了自带的几种加密函数外,还有功能更全面的PHP加密扩展库McryptMhash

    其中,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

    mcrypt 是 php 里面重要的加密支持扩展库,linux环境下:该库在默认情况下不开启。window环境下:PHP>=5.3,默认开启mcrypt扩展。

     

    2.支持的算法和加密模式

    Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示[1] 

    加密算法

    Mcrypt支持的算法有:

    cast-128

    gost

    rijndael-128

    twofish

    arcfour

    cast-256

    loki97

    rijndael-192

    saferplus

    wake

    blowfish-compat

    des

    rijndael-256

    serpent

    xtea

    blowfish

    enigma

    rc2

    tripledes

    加密模式

    Mcrypt支持的加密模式有:

    cbc

    cfb

    ctr

    ecb

    ncfb

    nofb

    ofb

    stream

    这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_MODE_来表示,如下面Mcrypt应用的

  • 相关阅读:
    swift 资料
    CI cookie 存放数组
    CI框架中 日志输出方法log_message()只允许输出字符串解决方案
    CI框架整合微信公共平台接口
    php中的 file_get_contents(‘php://input’)
    CI 框架购物车问题
    JQ 报表插件 jquery.jqplot 使用
    微信开发调试工具
    常用开源库
    字符集更改步骤,mysql乱码
  • 原文地址:https://www.cnblogs.com/redfire/p/7695802.html
Copyright © 2011-2022 走看看