crypt

crypt() 函式返回使用 DES、Blowfish 或 MD5 加密的字元串。 在不同的作業系統上,本函式的行為不同,某些作業系統支持一種以上的算法類型。在安裝時,PHP 會檢查什麼算法可用以及使用什麼算法。salt 默認使用DES加密方法。salt 如果以$1$開頭,以$結尾,那么這表示讓crypt用MD5的方式加密,加密後出來的密文格式就是 $1$...$ ,夾在$1$和$之間的字元串就是我們指定的 密鑰文字。這個密鑰文字最多不能超過8個字元。

語法

crypt(str,salt)
參數 描述
str 必需。規定要編碼的字元串。
salt 可選。用於增加被編碼字元數目的字元串,以使編碼更加安全。
如果未提供 salt 參數,則每次調用該函式時會隨機生成一個。

Linux 函式原型

char *crypt(const char *key, const char *salt);

key:要加密的明文。

salt:密鑰。

salt 默認使用DES加密方法。DES加密時,salt只能取兩個 字元,多出的字元會被丟棄。

salt 如果以$1$開頭,以$結尾,那么這表示讓crypt用MD5的方式加密,加密後出來的密文格式就是 $1$...$<密文正文> ,夾在$1$和$之間的字元串就是我們指定的 密鑰文字。這個密鑰文字最多不能超過8個字元。

說明

確切的算法依賴於 salt 參數的格式和長度。

下面是與 crypt() 函式一起使用的一些 常量。在安裝時,由 PHP 設定這些常量:

[CRYPT_SALT_LENGTH] [CRYPT_STD_DES] [CRYPT_EXT_DES] [CRYPT_MD5] [CRYPT_BLOWFISH]

(1)salt這個字元串如果以$1$開頭,以$結尾,那么這表示讓crypt用MD5的方式加密,加密後出來的密文格式就是 $1$...$<密文正文> ,夾在$1$和$之間的字元串就是我們指定的密鑰文字。這個密鑰文字最多不能超過8個字元。

(2)如果salt字元串不是(1)方式的格式,那默認就用DES加密方法。DES加密時,salt只能取兩個字元,也就是說,salt最多不能 超過2個字元,多出的字元會被丟棄,用DES加密出來的密文前兩個字元就是密鑰。後面緊跟著的就是真正的密文。

提示和注釋

提示:解密函式是沒有的。crypt() 函式使用一種單向算法。

例子

在本例中,我們將測試不同的算法:

相關詞條

相關搜尋

熱門詞條

聯絡我們