2021 5 6 課堂測試

2022-09-07 09:27:13 字數 3667 閱讀 5604

目錄

//base64編碼

void

tevp_encode()

; //

輸出資料緩衝區

int outl; //

輸出資料長度

file *infp; //

輸入檔案控制代碼

file *outfp; //

輸出檔案控制代碼

infp = fopen("

20181234.dat

","rb

");//

開啟待編碼的檔案

if(infp ==null)

outfp = fopen("

20181234.txt

","w

");//

開啟編碼後儲存的檔案

if(outfp ==null)

evp_encodeinit(ctx);

//base64編碼初始化

printf("

檔案\"20181234.dat\" base64編碼後為:\n");

//迴圈讀取原文,並呼叫evp_encodeupdate計算base64編碼

while(1

)

evp_encodefinal(ctx,

out,&outl);//

完成編碼,輸出最後的資料。

fwrite(out,1

,outl,outfp);

printf("%s

",out

); fclose(infp);

fclose(outfp);

printf(

"對檔案\"20181234.dat\" base64編碼完成,儲存到\"20181234.txt\"檔案.\n\n\n");

}//base64解碼

void

tevp_decode()

outfp = fopen("

20181234-1.dat

","wb

");//

開啟解碼後儲存的檔案

if(outfp ==null)

evp_decodeinit(ctx);

//base64解碼初始化

printf("

開始對檔案\"20181234.txt\" base64解碼...\n\n");

//迴圈讀取原文,並呼叫evp_decodeupdate進行base64解碼

while(1

)

evp_decodefinal(ctx,

out,&outl);//

完成解碼,輸出最後的資料。

fwrite(out,1

,outl,outfp);

fclose(infp);

fclose(outfp);

printf(

"對檔案\"20181234.txt\" base64解碼完成,儲存為\"20181234-1.dat\"\n\n\n");

# 命令列

"sno.txt中的內容為\n%s\n

",msg1);

fclose(file);

evp_md_ctx_init(sm3ctx);

evp_digestinit_ex(sm3ctx, evp_sm3(), null);

evp_digestupdate(sm3ctx, msg1, strlen(msg1));evp_digestfinal_ex(sm3ctx, sm3_value, &sm3_len);

evp_md_ctx_reset(sm3ctx);printf(

"sno.txt的摘要值為:\n");

for(i = 0; i < sm3_len; i++)

printf("\n

");}int

main()

編譯指令:gcc sno_sm3.c -o sno_sm3 -i ../zyxopenssl/include -l ../zyxopenssl/lib -ldl -lpthread -lcrypto

09 課堂測試9

軟體需求與分析課堂測試9答題紙 班級 信1905 1學號 20194171姓名 常金悅 1.根據上述描述,識別系統的類,列舉所有的候選類,並選出系統類,並說明原因。候選類 使用者 會議 會議中心 郵局 郵件 會議預定系統 系統類 使用者 會議 會議中心 郵局 郵件 會議預定系統 原因 系統中的人員 ...

9 1課堂筆記

課堂筆記 一 1 file類的構造方法 public file string pathname 根據parent抽象的路徑名和child路徑名字串建立乙個新的file物件。pathname指路徑名字串,parent父抽象路徑名 父抽象路徑名既可以是字串,也可以是file物件 public file ...

9 7課堂筆記

課堂筆記 執行緒的同步 為什麼需要 執行緒同步 執行緒間共享 和資料可以節省系統開銷,提高程式執行效率,但同時也導致了資料的 訪問衝突 問題,如何實現執行緒間的有機互動 並確保共享資源在某些關鍵時段只能被乙個執行緒訪問,即所謂的 執行緒同步 synchronization 就變得至關重要。臨界資源 ...