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