Rumah pembangunan bahagian belakang tutorial php PHP加密函数—crypt()函数加密用法实例

PHP加密函数—crypt()函数加密用法实例

May 25, 2017 pm 04:08 PM

PHP加密函数—crypt()函数加密

在介绍加密函数之前,我们先来介绍一下数据加密原理:就是对原来的明文件或者数据按照某种算法进行处理,使其成为不可读的一段代码,通常称之为“密文”,通过这样的途径来达到保护数据不被非法窃取和阅读的目的!

在PHP中能对数据进行加密的函数主要有:crypt()、md5()以及sha1(),还有就是加密扩展库Mcrpyt和Mash。在这篇文章中,我们先介绍使用crpyt()函数进行加密!

crypt()函数可以完成单向加密功能,是单向字符串散列!

crypt()函数语法格式如下:

1

string crypt ( string $str [, string $salt ] )

Salin selepas log masuk
算法salt长度
CRYPT_STD_DES2-character(默认)
CRYPT_EXT_DES9-character
CRYPT_MD5 12-character(以$1$开头)
CRYPT_BLOWFISH 16-character(以$2$开头)

这里要说明一下:

在默认的情况下,PHP使用一个或者两个字符的 DES 干扰串,如果系统使用的是MD5,那么就会使用 12个字符,可以通过 CRYPT_SALT_LENGTH 变量来查看当前所使用的干扰串的长度!

crypt()函数实例用法:

下面我们使用一个实例,让大家一目了然,具体代码如下:

1

2

3

4

5

6

7

<?php

header("Content-Type:text/html; charset=utf-8");

$atr = "php中文网 www.php.cn";  //声明字符串变量$atr

echo "加密之前atr的值为:".$atr;

$atr1 = crypt($atr);              //对变量$str 加密

echo "<br>加密之后str的值为:".$atr1; //输出加密后的变量

?>

Salin selepas log masuk

输出的结果如下:

11.png

上面的实例执行之后,一直刷新浏览器,你会发现每次生成的加密结果都是不一样的,那么该如何进行对加密后的数据进行判断就成了问题。crypt()函数是单向加密的,密文不可还原成明文的,而且每次加密后的数据都是不同的,这就是 salt 参数要解决的问题了。

crypt()函数用 salt参数对明文进行加密,判断时,对输出的信息再次使用相同的 salt 参数进行加密,对比两次加密后的结果来进行判断!

下面的实例对输入用户名进行检查,具体代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<?php

header("Content-Type:text/html; charset=utf-8");

$link=mysqli_connect("localhost","root","");

$db_selected = mysqli_select_db($link,"my_db");

?>

    <form name="form1" action="" method="post">

    <input type="text" name="username" id="username" size="15">

    <input type="submit" name="Submit" value="检测">

    </form>

<?php

if(isset($_POST["username"])!=""){

    $usr=crypt(isset($_POST["username"]),"tm");             //对用户名进行加密

    $sql = "select * from tb_user where user = '".$usr."'";//生成查询语句

    $rst = mysqli_query($link,$sql);                          //执行语句,返回结果集

    if($rst){

        echo "用户名存在";

    }else{

        echo "用户名可以使用";

    }

}

?>

Salin selepas log masuk

输出结果如下:

12.png

下一篇我们将介绍如何使用MD5()函数进行加密,具体请阅读《PHP加密函数—md5()函数加密》!

【相关推荐】

1. 相关专题推荐:《PHP加密函数

2.PHP加密函数—md5()函数加密实例用法

3.PHP加密函数—sha1()函数加密的实例用法

4.PHP加密技术视频教程

Atas ialah kandungan terperinci PHP加密函数—crypt()函数加密用法实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Tarikh dan Masa CakePHP

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Muat naik Fail CakePHP

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Penghalaan CakePHP

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Konfigurasi Projek CakePHP

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

Bincangkan CakePHP

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

Panduan Ringkas CakePHP

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

See all articles