encrypt函数c语言,Crypt加密函数简介(C语言)
定義函數
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
#include
#include
intmain(void)
{
charpasswd[13];
char*key;
charslat[2];
key=getpass("Input First Password:");
slat[0]=key[0];
slat[1]=key[1];
strcpy(passwd,crypt(key,slat));
key=getpass("Input Second Password:");
slat[0]=passwd[0];
slat[1]=passwd[1];
printf("After crypt(),1st passwd :%s/n", passwd);
printf("After crypt(),2nd passwd:%s /n", crypt(key,slat));
return0;
}
程序運行結果:(注:兩次輸入一樣)
Input First Password:
Input Second Password:
After crypt(),1st passwd :asZvhAtTX.i
7g
After crypt(),2nd passwd:asZvhAtTX.i
7g
相關函數:crypt 表頭文件:#include 函數定義:char *getpass(const char *prompt) 函數說明:getpass()會顯示參數prompt所指的字符串,然后從/dev/tty中讀取所輸入的密碼,若無法從/dev/tty中讀取則會轉從標準輸入設備中讀取密碼。所輸入的密碼長度限制在128個字符,包含結束字符NULL, 超過長度的字符及換行字符/n將會被忽略。在輸入密碼時getpass()會關閉字符回應,并忽略一些信號如CTRL-C 或 CTRL-Z所產生的信號 返回值???:返回一個指向以NULL結尾的密碼字符串 附加說明:為了系統安全考慮,在般在使用getpass()輸入密碼后,該密碼最好盡快處理完畢,然后將該密碼字符串清除 范例參crypt()
總結
以上是生活随笔為你收集整理的encrypt函数c语言,Crypt加密函数简介(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache支持mysql ubuntu
- 下一篇: 基于jmx监控kafka_0542-6.