![計(jì)算機(jī)安全學(xué)上機(jī)程序設(shè)計(jì)報(bào)告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/c5df721a-90fc-406f-8218-aa23f8c24db0/c5df721a-90fc-406f-8218-aa23f8c24db01.gif)
![計(jì)算機(jī)安全學(xué)上機(jī)程序設(shè)計(jì)報(bào)告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/c5df721a-90fc-406f-8218-aa23f8c24db0/c5df721a-90fc-406f-8218-aa23f8c24db02.gif)
![計(jì)算機(jī)安全學(xué)上機(jī)程序設(shè)計(jì)報(bào)告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/c5df721a-90fc-406f-8218-aa23f8c24db0/c5df721a-90fc-406f-8218-aa23f8c24db03.gif)
![計(jì)算機(jī)安全學(xué)上機(jī)程序設(shè)計(jì)報(bào)告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/c5df721a-90fc-406f-8218-aa23f8c24db0/c5df721a-90fc-406f-8218-aa23f8c24db04.gif)
![計(jì)算機(jī)安全學(xué)上機(jī)程序設(shè)計(jì)報(bào)告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/25/c5df721a-90fc-406f-8218-aa23f8c24db0/c5df721a-90fc-406f-8218-aa23f8c24db05.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、針耳機(jī)安仝曇上機(jī)程爲(wèi)殺針報(bào)告姓名:陳超班級(jí):計(jì)科0705學(xué)好:2007400792010/5/12本課程有六個(gè)上機(jī)試驗(yàn),分別是歐兒里得算法,中國剩余定理,仿射密碼系統(tǒng),des 對(duì)稱性加密,rsa非對(duì)稱性加密方案,md5數(shù)字簽名方案。我用的程序設(shè)計(jì)語言是java, 采用了 java的圖形界面。其結(jié)果及輸入輸出如下截圖所示。chinaaffine初始界面1.1請(qǐng)輸入讀一個(gè)敎: 請(qǐng)輸入第二個(gè)數(shù):igcdat清除:gcdchinaaffinersadesmdfexit歐兒里得算法界面12,任意的輸入兩個(gè)數(shù)字,按下gcd按鈕出現(xiàn)這兩個(gè)數(shù)的最大公約數(shù)請(qǐng)輸入系數(shù):5 3,10請(qǐng)輸入基數(shù):l 11,13中國刺
2、余894清除:gcdchinaaffinersadesmdfexit中國剩余定理,輸入的系數(shù),以逗號(hào)隔開,基數(shù)以逗號(hào)隔開。輸出的是最終的解。仿射密碼系統(tǒng)1.3,輸入密鑰及明文和密文空間,接著數(shù)要加密的明文,輸出加密的結(jié)果。請(qǐng)輸入密鑰空間:defghij klmnopqrstuvwxyz請(qǐng)輸入明文惑文:securi typxnzkrut垂啟:affine請(qǐng)輸入明文惑文空間:仿射密碼系統(tǒng)14按下清除,輸入密文,輸出對(duì)應(yīng)的解密結(jié)果。請(qǐng)輸入公鑰:29請(qǐng)輸入明文惑文:2517143778959074886exitdesm(ifrsa非對(duì)稱密碼加密1.5,輸入的是公鑰b,然后程序自動(dòng)選取兩個(gè)大素?cái)?shù),求出第
3、二個(gè)公鑰 n,輸入明文,輸出加密結(jié)果。請(qǐng)輸入公鑰:請(qǐng)輸入明文感文:exitdesm(tfrsa非對(duì)稱性加密1.6,按下清除,輸入密文,得到解密結(jié)果,與輸入的明文相同。請(qǐng)輸入明文:zomputwr security course加密結(jié)果:解密結(jié)果:computwr security course確認(rèn):清除:垂啟:chinaaffinedes對(duì)稱性加密算法1.7,輸入64位密鑰,輸入明文,輸出加密結(jié)果,和由加密結(jié)果還原的 明文。密文由于輸!ii到界面上不能是byte型的,因此呈現(xiàn)為亂碼。請(qǐng)輸入消息:computerswcuri ty簽名后的消息:69e2780£a609d38e405e8
4、8eaffinemd5數(shù)字簽名方案1.8,輸入消息,輸出簽名后的消息。源代碼如下:歐幾里得類:class gcdprivate int m,n;public gcd(int a,int b)n=a;m=b;public int gcdres()if(m<n)int tmp;tmp=m;m=n;int res;res=m%n;while(res!=0)m=n;n=res;res=m%n;return n;public int inverse () if(m<n)int tmp;tmp=m;m=n;n=tmp;int a=mz b=n,c=0z d=l; int q=a/b;int r
5、=a-q*b; while(r!=0)int tmp=c-q*d; if(tmp>0) tmp%=m; else tmp=(m+tmp)%m; c=d;d=tmp;a=b;b=r;q=a/b;r=a-q*b;return d;中國剩余定理類:class chinarest private string strl=new string ();private string str2=new string ();public chinarest(string str3,string str4) strl=str3; str2=str4;public int chinarest()string
6、resl=stri split (11, n );string res2=str2split (n,n);int len=resllength;int a=new intlen;int m=new intlen;int m=lz sum=o;int b=new intlen;int ml=new intlen;for(int i=0;i<len;i+)ai=integer.valueof(resli);mi=integer.valueof(res2i); m*=mi;for(int i=0;i<len;i+)mli=m/mi;if(mli>mi)mli%=mi;gcd g=n
7、ew gcd(miz mli);bi =g.inverse ();sum+=ai*bi*m/mi;int res;res=sum%m;return res;放射密碼系統(tǒng)類:class affine private string textspace=new string();private string key=new string();private string text=new string();public affine(string strl,string str2,string str3)key=strl;text space=s t:r2;text=str3;public stri
8、ng encryption()int e=new int textspace.length();int k=new int key.length();string ciphertext=new string ();st ring res=key split ( n, ,f);for(int i=0;i<reslength;i+)ki=integervalueof(resi);/ system.out printin(ki);for(int i=0;i<textlength();i+)e i = (textspace.indexof(textcharat(i)*k1+k0)%text
9、space.length()fciphertext+=textspacecharat(ei);return ciphertext;public string decrypt () int d=new int textspace.length ();int k=new int key.length();string plaintext=new string ();string res=key . split ( n, 11);for(int i=0;i<res.length;i+)k i =integer. 丄(res i);/system.outprintin(ki);gcd g=new
10、 gcd(k1,textspecelength();int inverse=ginverse();for(int i=0;i<textlength();i+)di = ( (textspaceindexof(textcharat(i)-k0)inverse)%textspacelen gth();plaintext+=textspececharat(di);return plaintext;rsa類(由于篇幅的限制,此處略去所有的常量數(shù)組的數(shù)字):class rsaprivate private private private private private private privat
11、estaticstaticstaticstaticstaticstaticbiginteger biginteger biginteger biginteger biginteger bigintegerp=null; q=null; f=null; a=null; b=null; npq=null;biginteger plaintext;biginteger encrypted;public rsa(string n)securerandom rnd=new securerandom();p=new biginteger(integer.parseint(n)/2,200,rnd); /s
12、ystem.out.printin (p);q=new biginteger(integer.parselnt (n)/2,200,rnd); npq =p.multiply(q);public rsa(string nz string str) b =new biginteger (n);system.out.printin(p);biginteger f=(p.subtract(newbiginteger (111n ) ) .multiply (q. subtract (new biginteger ( n 1,f) /system.out.printin(b);a =jb.modlnv
13、erse (f);plaintext=new biginteger(str); encrypted=new biginteger(str); biginteger pkey()return npq;biginteger encrypt()return plaintext.modpow (jb, npq);biginteger decrypt()return encrypted.modpow(a,npq);des 類:class desprivate byte bytekey;public des (string strkey)this.bytekey = strkeygetbytes ();/
14、聲明常量字節(jié)數(shù)組private static final int ip; private static final int ipv ; private static final int pc_1;privatestaticfinalintpc_2;privatestaticfinalinte ;=privatestaticfinalint p;privatestaticfinalint s_box;privatestaticfinalint leftmove; /左移位置列表private byte unitdes (byte des_keyz byte des_data, int flag)
15、/檢測輸入?yún)?shù)格式是否止確,錯(cuò)誤直接返回空值(null)if ( (des_key.length != 8)| | (des_data.length != 8)i i (flag != 1)&& (flag != 0)throw new runtimeexception (,fdata format error ! ,f);int flags = flag;/二進(jìn)制加密密鑰int keydata = new int64;/二進(jìn)制加密數(shù)據(jù)int encryptdata = new int64;/加密操作完成后的字節(jié)數(shù)組byte encryptcode = new byte8;/密
16、鑰初試化成二維數(shù)組int keyarray = new int1648;/將密鑰字節(jié)數(shù)組轉(zhuǎn)換成二進(jìn)制字節(jié)數(shù)組keydata = readdatatobirnarylntarray(des_key);/將加密數(shù)據(jù)字節(jié)數(shù)組轉(zhuǎn)換成二進(jìn)制字節(jié)數(shù)組encryptdata = readdatatobirnarylntarr且y(des_data);/初試化密鑰為二維密鑰數(shù)組keyinitialize(keydakeyarray);/執(zhí)行加密解密操作encryptcode = encrypt(encryptdata* flags, keyarray);return encryptcode;/初試化密鑰數(shù)組p
17、rivate void keylnitialize(int key, int keyarray) int i;int j;int ko = new int56;/特別注意:xxxipi-l等類似變換for (i = 0; i < 56; i+)k0i = key pc_1 i - 1 ; / 密鑰進(jìn)行 pc-l 變換for (i = 0; i < 16; i+)leftbitmove(ko, leftmovei);/特別注意:xxxipi-l等類似變換for (j = 0; j < 48; j+) keyarray i j = ko pc_2 j - 1 ; / 生成了密鑰
18、keyarray i j/執(zhí)行加密解密操作private byte encrypt(int timedata, int flag, int keyarray)int i;byte encrypt = new byte8;int flags = flag;int m = new int 64;int mip_1 = new int 64;/特別注意:xxxipi-l等類似變換for (i = 0; i < 64; i+)mi = timedataipi - 1 ; / 明文 ip 變換 if (flags = 1) / 加密for (i = 0; i < 16; i+)loopf(m
19、,i, flags, keyarray); else if for (i =loopf(m,(flags = 0) / 解密 15;1/i > -1; i) flags, keyarray);for (i = 0; i < 64; i+)mip_1 i = mipvi - 1 ; / 進(jìn)行工p-l 運(yùn)算getencryptresu丄tofbytearray(mip_1, encrypt); /返回加密數(shù)據(jù)return encrypt;private int readdatatobirnaryintarray(byte intdata) int i;int j;/將數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)
20、,存儲(chǔ)到數(shù)組int intda = new int 8;for (i = 0; i < 8; i + + )intdai = intdatai;if (intda i < 0)intdai += 256;intdai %= 256;int intva = new int64;for (i = 0; i < 8; i + + )for (j = 0; j < 8; j + +)intva(i * 8) + 7) - j = intda i % 2;intdai = intdai/ 2;return intva;private void leftbitmove(int k,
21、 int offset) int i;/循環(huán)移位操作函數(shù)intco = newint 28;int do = newint 28;int cl = newint 28;int dl = newint28;for (i = 0; i < 28; i+)c0i = ki;d0i = ki + 28;if (offset1)27;1;1;i + +) /循環(huán)左移一位for (i = 0; i cli = co i dli = d0icl 27 = c00;dl27 = do0; else if (offset = 2)for (i = 0; i < 26; i + + ) / 循環(huán)左移兩
22、位cli = c0i + 2;dli = d0i + 2;cl 26 = co0;dl 26 = d00;cl 27 = c0l;dl 27 = do1;for (i = 0; i < 28; i+)ki = cli;ki + 28 = dli;private void loopf (int m, int times, int flag, int keyarray)int i;int j fint l0 = newint32;int r0 = newint32;int li = newint32;int r1 = newint32;intre = newint48;ints = newf
23、 int8 6;int sboxdata=new int8int svalue =new int 32;int rp = newint32;for (i = 0; i <32; i+) loi = mi ; /明文左側(cè)的初始化roi = mi + 32 ; /明文右側(cè)的初始化for (i = 0; i < 48; i+)rei = r0ei - 1 ; /經(jīng)過e變換擴(kuò)充,由32位變?yōu)?8位rei = re i + keyarray times i; / 與 keyarray times i 按位作不進(jìn)位加法運(yùn)算if (rei = 2)re i = 0;for (i = 0; i &
24、lt; 8; i + + ) / 48 位分成 8 組for (j = 0; j < 6;j+)si j = re(i * 6) 4- j;/下面經(jīng)過s盒,得到8個(gè)數(shù)sboxdatai = s_boxi (si 0 « 1) + si 5 (si 1 «3) + (si 2 « 2) + (si 3 « 1) + si 4;/ 8個(gè)數(shù)變換輸出二進(jìn)制for (j = 0; j < 4; j+)svalue(i * 4) +3) - j = sboxdatai % 2;sboxdatai = sboxdat3i / 2;for (i = 0; i
25、 < 32; i + +) rpi = svaluepi - 1 ; / 經(jīng)過 p 變換lli = r0i ; /右邊移到左邊r1 i = l0 i + rp i;if (rli = 2) r1 i = 0;/重新牛成m,返回?cái)?shù)組m/最后一次變換時(shí),左右不進(jìn)行互換。此處采用兩次變換實(shí)現(xiàn)不變if ( ( (flag = = 0) && (times = = 0) ) i i ( (flag = 1) && (tirnes =15) mi = r1i;mi + 32 = lii; else mi = lli;mi + 32 = r1i;private void
26、 getencryptresulto£bytearray(int data, byte value) int i;int j;/將存儲(chǔ)64位二進(jìn)制數(shù)據(jù)的數(shù)組屮的數(shù)據(jù)轉(zhuǎn)換為八個(gè)整數(shù)(byte)for (i = 0; i < 8; i + + )for (j = 0; j < 8;j+)value i += (data(i << 3) + j << (7 - j);for (i = 0; i < 8; i + + )valuei %= 256;if (valuei > 128)valuei 一= 255;private byte byted
27、ataformat(byte data, int flag) int len = data.length;int padlen = 8 - (len % 8);int newlen = len + padlen;byte newdata = new bytenewlen;system.arraycopy(data, 0, newdata, 0, len);for (int i = len; i < newlen; i+)newdatai = (byte) padlen;return newdata;public byte desencrypt(byte des_data, int fla
28、g) byte format_key = bytedataformat(bytekey, flag);byte format_data = bytedataformat(des_daflag);int datalen = format_dete丄ength;int unitcount = datalen / 8;byte result_data = new bytedatalen;for (int i = 0; i < imitcount; i+)byte tmpkey = new byte8;byte tmpdata = new byte8;system.arraycopy(forma
29、t_key, 0, tmpkey, 0, 8);system.arraycopy(format_dataz i * 8, tmpdata, 0z 8); byte tmpresult = unitdes(tmpkey, tmpdata, flag);system.arraycopy(tmpresult, 0, result_data, i * 8, 8);byte decryptbytearray = null;if (flag = 0)int total_len = datalen;int dele= resultotal_len - 8 - 1;delete_len =( (delete_
30、len >=1)&&<=8) )?dele: 0;decryptbyteartay = new byte delete_len 一 8 ;boolean del_flag = true;for (int k = 0; k < delete_len; k+)if (dele! = result_data total_len - 8 - (k + 1) del_flag = false;if (del_flag = true) system.arraycopy(result_data, 0,decryptbytearray,0,total_len-dele-8);
31、return (flag = 1) ? result_data : deeryptbytearray;md5數(shù)字簽名類的實(shí)現(xiàn):class mdfprivate int a, b, c, d;publie int append(string message)long length = message-length()*8;if ( (512 - length%521)<65)length = length + 521;long arrlength = (length + (512 一 length%521)/32;int buffer = new int(int) arrlength;in
32、t p = 0;long tmp;for (int i=0; i<message.length();)tmp = 0;for(int j=0; j<4 & ivmessegelength(); j+)bufferp += (int)messagecharat(i)<<(j*8);i+;tmp+;switch(int) tmp)case 1:bufferp+= (0x080 << 8);p+; break;case 2:bufferp += (0x80 << 16);p+;break;case 3:bufferp += (0x80 <
33、< 24);p+;break;default:p+;if (length =0 ) bufferp+ = 0x000000080;for(; p<arrlength-2; p+)bufferp = 0;if (length > math.pow(2z 64)length = length %(int)math.po(2, 64 );tmp= length;bufferp+ = (int)length; bufferp=(int)(tmp >>>32); return buffer;int z)private int f (int x, int y,retur
34、n (x&y) | ( (x)&z);private int g(int xz int y, int z) return (x&z) | (y& (-z);private int h(int x, int y, int z) return xyaz;private int i(int x, int y, int z) return ya (x| (z);private int sum(int x, int y)return(x&ox7fffffff) + (y&ox7fffffff)a(x&ox80000000)a(y&ox800
35、00000);private int ff (int aff int bf, int cf, int df z int mf, int sf, inttf)int tmp;tmp= sum(sum(sum(af, f(bfz cf,df)z mf)r tf); return sum(bf, (tmp << sf) i (tmp >>> (32 - sf);private int gg (int agf int bg, int eg, int dg, int mg, int sg, inttg)int tmp;tmp = sum(sum(sum(ag,g(bg,eg
36、,dg)z mg),tg); return sum(bgz (tmp << sg) | (tmp >>> (32 - sg);private int hh (int agr int bgz int cgf int dg, int ragf int sgf inttg) int tmp;tmp = sum(sum(sum(ag,h(bg,eg,dg),mg),tg);return sum(bg, (tmp << sg) | (tmp >>> (32 一 sg);private int ii (int ag, int bg, int eg
37、, int dg, int mg, int sg, inttg) int tmp;tmp = sum(sum(sum(ag,i(bg,eg,dg),mg),tg);return sum(bgz (tmp << sg) | (tmp >>> (32 一 sg);public string getdigest(string message) int m = append(message);int a, cf d;a =0x67452301;b =oxefcdab89;c =d =0x98badcfe;0x10325476;for (int i = 0; i<m.
38、length; i += 16) a = a; b = b; c = c; d =d;a = ff(azb,czd,mo+i, 7,0xd76aa478);d = ff(df az b,c,m1 + i,12,0xe8c7b756); c = ff(czdzazbzm2 + i, 17,0x24 2070db); b = ff(bzc,dza,m3+i,22,oxclbdceee);a = ff(a,b,c,d,m4 + i,7,0xf57c0faf);d = ff(dz az b,c,m5 + i,12,0x4787c62a); c = ff(czdza,bzm6+i,17,oxa53046
39、13);b = ff(bzc/dza,m7 + i/22z0xf469501);a = ff(a,b,c,d,m8+i,7,0x698098d8);d = ff(dzazb,czm9 + i,12z 0x8b44f7af); c = ff(czdzazbzm10 + iz17z 0xffff5bbl);b = ff(b,c,ci,a,mll + i ,22, 0x895cd7be);a = ff(azbzczcizm12 + i z 7,0x6b901122);d = ff(d,azb,czm134-i , 12, 0xfd987193); c = ff(czdzazbzm14 + i,17z
40、 0xa679438e);b = ff(b,c,d,a,m15+i,22,0x49b40821);a = gg(a/bzc/dzml + i, 5z 0xf61e2 562);d = gg(d,a,b,czm6+i,9,0xc040b340);c = gg(c,dza,bzmll + i,14z 0x26515a51);b = gg(b,c,d,a,m0+i,20,0xq9b6c7aa);a = gg(a,b,c,d,m5 + i,5, 0xd62f105d);d = gg(d,a,b,czm10+i, 9,0x02441453);c = gg(c,dza,bzm15+i,14z 0xd8al
41、e681);b = gg(b,c,d,a,m4+i,20,0xe7d3fbc8);a = gg(a/bzc/dzm9 + i, 5z 0x21elcdl6);d = gg(d,a,b,czm14 + i, 9,0xc33707d6);c = gg(c,d,a,b,m3+i,14,oxf4d50d87);b = gg(b,c,ci,a,m8 + i ,20, 0x455a 14ed);a = gg(a,bzc,cizm134-i , 5, 0xa9e3e905);d = gg(d,azb,czm2 + i,9,0xfcefa3f8);c = gg(c,d,a,b,m7+i,14,0x676f02
42、d9);b = gg(b,c,d,a,m12+i,20,0x8d2a4c8a);a = hh(a,b,c,d,m5 + i,4,oxfffa3842);d = hh(dzazbzczm8+iz11,0x8771f681);c = hh(c,dzazbzmll+i,16,0x6d9d6122);b = hh (b,c,d,a,m14 + i,23,0xfde5380c);a = hh(a,b,c,d,m14-i , 4,0xa4beea4 4);d = hh(dzazbzczm4+i,11,0x4bdecfa9);c = hh (c,d,a,b,m7 + i,16,oxf6bb4b60);b =
43、 hh(b,czd,azm10 + i,23,0xbebfbc7 0);a = hh(afb,cfd,m13+i,4,0x289b71c6);d = hh(dzazbzczmo+i,11,0xeaal27fa);c = hh(c,dzazbzm3+i,16,0xd4ef3085);b = hh(b,c,dza,m6+i,23,0x04881d05);a = hh (azb,c,d,m9 + i,4,0xd9d4d039);d = hh(dzazbzczm12+i,11,0xe6eb99e5); c = hh(c,d,a,b,m15+i,16,0xlfa27cf8);b = hh(b,c,dfa,m2 + i,23,0xc4ac5665);a = ii (a,b,c,d,mo + i,6,0xf42 92244);d = ii (dzazbzczm7 + i, 10, 0x432aff97);c = ii(c,d,a,b,m14+i,15,0xab9423a7);b = ii (bfc/d/6m5 + i/21f0x£c934 039);a = ii(a,bzczdzm12+i, 6,0x655b59c3);d = ii (dz
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鋼化玻璃刀板行業(yè)深度研究分析報(bào)告
- 2025年度國稅保密協(xié)議實(shí)施細(xì)則
- 2025年度家具貨物運(yùn)輸承包服務(wù)協(xié)議
- 2025年度合同書封面素材數(shù)字版權(quán)授權(quán)合同
- 2025年家用電動(dòng)碎料器行業(yè)深度研究分析報(bào)告
- 無人駕駛與物流行業(yè)的未來
- 2025年度建筑抹灰工程環(huán)保施工合同
- 2025年度建筑工程地基基礎(chǔ)檢測與驗(yàn)收服務(wù)合同
- 2025年度高端定制家具加工合同協(xié)議
- 2025年度供電工程環(huán)保驗(yàn)收服務(wù)合同
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí) CCAA年度確認(rèn) 試題與答案
- 2022屆“一本、二本臨界生”動(dòng)員大會(huì)(2023.5)
- 國家行政機(jī)關(guān)公文格式課件
- 耐壓絕緣硅橡膠涂料噴涂作業(yè)指導(dǎo)書
- 小學(xué)《體育與健康》 人教版 三年級(jí) 乒乓球運(yùn)動(dòng) -乒乓球介紹與球性教學(xué) 第一節(jié)課PPT 課件
- 急性心梗的護(hù)理業(yè)務(wù)學(xué)習(xí)課件
- 導(dǎo)向標(biāo)識(shí)系統(tǒng)設(shè)計(jì)(二)課件
- 聚焦:如何推進(jìn)教育治理體系和治理能力現(xiàn)代化
- 化工儀表自動(dòng)化【第四章】自動(dòng)控制儀表
- 安全生產(chǎn)十大法則及安全管理十大定律
評(píng)論
0/150
提交評(píng)論