語法
Linux函數原型
char*crypt(constchar*key,constchar*salt);
key:要加密的明文。
salt:密鑰。
salt默認使用DES加密方法。DES加密時,salt隻能取兩個字符,多出的字符會被丢棄。
salt如果以$1$開頭,以$結尾,那麼這表示讓crypt用MD5的方式加密,加密後出來的密文格式就是$1$...lt;密文正文>,夾在$1$和$之間的字符串就是我們指定的密鑰文字。這個密鑰文字最多不能超過8個字符。
說明
确切的算法依賴于salt參數的格式和長度。
下面是與crypt()函數一起使用的一些常量。在安裝時,由PHP設置這些常量:
[CRYPT_SALT_LENGTH][CRYPT_STD_DES][CRYPT_EXT_DES][CRYPT_MD5][CRYPT_BLOWFISH]
(1)salt這個字符串如果以$1$開頭,以$結尾,那麼這表示讓crypt用MD5的方式加密,加密後出來的密文格式就是$1$...lt;密文正文>,夾在$1$和$之間的字符串就是我們指定的密鑰文字。這個密鑰文字最多不能超過8個字符。
(2)如果salt字符串不是(1)方式的格式,那默認就用DES加密方法。DES加密時,salt隻能取兩個字符,也就是說,salt最多不能超過2個字符,多出的字符會被丢棄,用DES加密出來的密文前兩個字符就是密鑰。後面緊跟着的就是真正的密文。
提示和注釋
提示:解密函數是沒有的。crypt()函數使用一種單向算法。