Crypt加密函式簡介(C語言)

2021-04-12 22:11:07 字數 1329 閱讀 6108

定義函式

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

函式說明

crypt

是個密碼加密函式,它是基於data encryption standard(des)演演算法。crypt只適用於密碼的使用,不適合用於資料加密。

crypt()

將引數key所指的字串加以加密,key字串長度僅取前8個字元,超過此長度的字元沒有意義。引數salt為兩個字元組成的字串,由a-z、a-z、0-9,「.」和「/」所組成,用來決定使用4096 (a-z、a-z、0-9,「.」和「/」共64個字元,64的平方為4096)種不同內建**的哪乙個。函式執行成功後會返回指向編碼過的字串指標,引數key 所指的字串不會有所更動。編碼過的字串長度為13 個字元,前兩個字元為引數salt代表的字串。

返回值

返回乙個指向以null結尾的密碼字串。

注意編譯時要在末尾新增-lcrypt選項。

/**

* gcc -o crypt crypt.c -lcrypt

*/

#include

<

unistd.h

>

#include

<

crypt.h

>

#include

<

string.h

>

intmain(

void)

程式執行結果:(注:兩次輸入一樣)

input first password:

input second password:

after crypt(),1st passwd :aszvhattx.i

7gafter crypt(),2nd passwd:aszvhattx.i

7g表頭檔案:#include

函式定義:char *getpass(const char *prompt)

函式說明:getpass()會顯示引數prompt所指的字串,然後從/dev/tty中讀取所輸入的密碼,若無法從/dev/tty中讀取則會轉從標準輸入裝置中讀取密碼。所輸入的密碼長度限制在128個字元,包含結束字元null, 超過長度的字元及換行字元/n將會被忽略。在輸入密碼時getpass()會關閉字元回應,並忽略一些訊號如ctrl-c 或 ctrl-z所產生的訊號

返回值   :返回乙個指向以null結尾的密碼字串

附加說明:為了系統安全考慮,在般在使用getpass()輸入密碼後,該密碼最好盡快處理完畢,然後將該密碼字串清除

範例參crypt()

Crypt加密函式簡介(C語言)

定義函式 char crypt const char key,const char salt 函式說明 crypt是個密碼加密函式,它是基於data encryption standard des 演演算法。crypt只適用於密碼的使用,不適合用於資料加密。crypt 將引數key所指的字串加以加密...

PHP加密函式crypt常量

在不同的作業系統上,crypt函式可能具有不同的行為,某些作業系統支援多種演算法型別。在安裝php時會檢查當前系統什麼演算法可用以及使用什麼演算法,確切的演算法依賴於呼叫函式時salt引數的格式和長度。安裝php時可以設定一些相關的常量。常量說明 crypt salt length 預設的加密長度。...

C 加密與解密函式

asp.net中簡單方法 1.public static string md5 string tocrystring 2.public static string md5 string str des.key asciiencoding.ascii.getbytes skey des.iv asci...