知乎專欄 | 多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者” |
將字元串用 DES 編碼加密。
語法: string crypt(string str, string [salt]);
返回值: 字元串
函數種類: 編碼處理
內容說明
本函數將字元串用 UNIX 的標準加密 DES 模組加密。這是單向的加密函數,無法解密。欲比對字元串,將已加密的字元串的頭二個字元放在 salt 的參數中,再比對加密後的字元串。
更詳細的資料請參考 UNIX Manual (man) 中的 crypt。
在一些較新的 UNIX 版本中,除了 DES 之外還提供了其它的加密模組,如 MD5。甚至有些系統還用 MD5 取代 DES。在 salt 參數還有一些變化,端看傳給 salt 參數的字元串長度而定:
* CRYPT_STD_DES - 標準的 DES 編碼,輸入 2 字元的 salt。 |
* CRYPT_EXT_DES - 延伸的 DES 編碼,輸入 9 字元的 salt。 |
* CRYPT_MD5 - MD5 編碼,輸入 12 字元加上 $1$ 的 salt。 |
* CRYPT_BLOWFISH - 延伸的 DES 編碼,輸入 16 字元加上 $2$ 的 salt。 |
此外,若不使用 salt 參數,則程序會自動產生。
# cat crypt.php <html> <p>DES 密碼</p> <form method=post action=crypt.php> <p>password:<input name=passwd type=text size=20></p> <input type=submit value=submit> </form> <? $enpw=crypt($passwd); echo "password is: $enpw"; ?> [root@linux root]# wget http://netkiller.hikz.com/linux/download/myphp/site-2.1.0.tar.gz [root@linux root]#tar zxvf site-2.1.0.tar.gz [root@linux root]#cp –r site /usr/local/apache/htdocs [root@linux root]#lynx http://localhost/site