日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

crypt Solaris7 交流 --- 程序生成系統(tǒng)用戶方法

六、程序生成系統(tǒng)用戶方法(crypt)

crypt是個密碼加密函數(shù) , 它是基於Data Encryption Standard(DES)演算法 。

crypt基本上是One way encryption , 因此它只適用於密碼的使用 , 不適合於資料加密

。

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

key是使用者的密碼 。salt是兩個字 , 每個字可從[a-zA-Z0-9./]中選出來 , 因此同一密

碼增加了4096種可能性 。透過使用key中每個字的低七位元 , 取得56-bit關(guān)鍵字 , 這

56-bit關(guān)鍵字被用來加密成一組字 , 這組字有13個可顯示的 ASCII字 , 包含開頭兩個

salt 。crypt在您有自行管理使用者的場合時使用 , 例如會員網(wǎng)站、BBS等等 。

范例一 : crypt_Word.c

#include

#include

#include

void main(int argc,char **argv)

{

if (argc!=3) exit(0);

setkey(argv[2]);

printf("%sn",crypt(argv[1],argv[2]));

}

編譯

gcc -o crypt_word crypt.c -lcrypt

檢驗(yàn)

請先看您的/etc/passwd , 找一個您自己的帳號 , 看前面兩個字 , 那是您自己的salt 。

接下來輸入: ./crypt_word your_password salt

您也可以利用Apache上所附的htpasswd來產(chǎn)生加密字做為驗(yàn)證 。

fprintf(f_passwd,"%s:x:%d:%s::%s/%s:/bin/shn",get_name,get_uid,sUserGrou

p,get_path,get_name);

setkey("O7");

get_password1=get_password;

get_password1=crypt(get_pass,"O7");

fprintf(f_shadow,"%s:%s:10000::::::n",get_name,get_password1);

sprintf(sys_str,"mkdir %s/%s",get_path,get_name);

    推薦閱讀