Home >Backend Development >PHP Tutorial >PHP encryption function—crypt() function encryption usage example

PHP encryption function—crypt() function encryption usage example

黄舟
黄舟Original
2017-05-25 16:08:264710browse

PHP encryption function—crypt() function encryption

Before introducing the encryption function, let us first introduce the principle of data encryption: it is to The file or data is processed according to a certain algorithm, making it an unreadable piece of code, usually called "ciphertext". Through this method, the purpose of protecting the data from illegal theft and reading is achieved!

The functions that can encrypt data in PHP mainly include: crypt(), md5() and sha1(), as well as the encryption extension libraries Mcrpyt and Mash. In this article, we first introduce the use of crpyt() function for encryption!

crypt() function can complete the one-way encryption function, which is a one-way string hash!

crypt() function syntax format is as follows:

string crypt ( string $str [, string $salt ] )
Algorithm salt length
CRYPT_STD_DES 2-character (default)
CRYPT_EXT_DES 9-character
CRYPT_MD5 12-character (starting with $1$)
CRYPT_BLOWFISH 16-character (starting with $2$)

Here is a note:

By default, PHP uses one or two characters of DES interference string , if the system uses MD5, then 12 characters will be used. You can check the length of the currently used interference string through the CRYPT_SALT_LENGTH variable!

crypt() function instance usage:

Let’s use an example below to make it clear to everyone. The specific code is as follows:

<?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; //输出加密后的变量
?>

Output The results are as follows:

PHP encryption function—crypt() function encryption usage example

After executing the above example, keep refreshing the browser, you will find that the encryption results generated each time are different, so how to compare them Judging the encrypted data becomes a problem. The crypt() function is a one-way encryption, the ciphertext cannot be restored to plaintext, and the data after encryption is different each time. This is the problem that the salt parameter is to solve.

The crypt() function uses the salt parameter to encrypt the plaintext. When judging, the output information is encrypted again using the same salt parameter, and the judgment is made by comparing the results after the two encryptions!

The following example checks the input user name. The specific code is as follows:

<?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 = &#39;".$usr."&#39;";//生成查询语句
    $rst = mysqli_query($link,$sql);                          //执行语句,返回结果集
    if($rst){
        echo "用户名存在";
    }else{
        echo "用户名可以使用";
    }
}
?>

The output result is as follows:

PHP encryption function—crypt() function encryption usage example

Next article we We will introduce how to use the MD5() function for encryption. For details, please read "PHP Encryption Function—md5() Function Encryption"!

[Related Recommendations]

1. Related topic recommendations: "PHP Encryption Function"

2.PHP Encryption Function—md5() function encryption example usage

3.PHP encryption function—Instance usage of sha1() function encryption

4.PHP encryption technology video tutorial

The above is the detailed content of PHP encryption function—crypt() function encryption usage example. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How to merge PHP arrays?Next article:How to merge PHP arrays?