第 21 题
/ J( F* s, |! p3 Y* O你正在开发一个使用安全哈希算法计算给定数据哈希值的方法。传递给你方法的数据是一个
, f. @+ N2 J. }: ^; K名为 message 的字节数组。你需要计算输入数据的 SHA1 哈希值,而且要把计算结果放入名
# ]; e$ T. D# c. j为 hash 的字节数组。你应该使用下面那一个代码段?
# w) Z5 |6 ?& g# B% D' lA. SHA1 sha = new SHA1CryptoServiceProvider();byte[] hash =
1 |6 T8 Z! x7 Inull;sha.TransformBlock(message, 0, message.Length, hash, 0); + a5 C# n; A% l. X
B. SHA1 sha = new SHA1CryptoServiceProvider();byte[] hash =
3 H% H# E( [3 @- ^' m& i3 S2 `BitConverter.GetBytes(sha.GetHashCode()); 6 h* ~$ ]2 p) |) B1 t8 e
C. SHA1 sha = new SHA1CryptoServiceProvider();
8 _2 w8 R8 K0 q0 vbyte[] hash = sha.ComputeHash(message); ( x/ ]- `# y* S5 ~+ q, {+ n$ X6 g
D. SHA1 sha = new SHA1CryptoServiceProvider();sha.GetHashCode();
" _' F2 B) I4 p6 X2 [0 wbyte[] hash = sha.Hash; ' t- g& f _6 a/ x
答案: C
( e( I5 G4 Y( _
& ~$ H# ?0 c9 F! i5 m7 f第 22 题 " P% S0 Q) M! {: u
你正在开发一个以后可以使用 MD5 算法进行验证的、计算哈希值的方法。传递给你方法的 数据是一个名为 message 的字节数组。你需要计算输入数据的 MD5 哈希值,而且要把计算 9 K" C+ n" `8 g. M5 U
结果放入名为 hash 的字节数组。你应该使用下面那一个代码段? 1 I4 N3 F) z4 n) R+ O5 }( ]: I, T/ {+ U
A. HashAlgorithm algo = HashAlgorithm.Create("MD5");byte[] hash =
( c" [8 J$ K6 f3 [, galgo.ComputeHash(message);
2 a0 R0 T+ t; [& t9 x5 Q& YB. HashAlgorithm algo = HashAlgorithm.Create("MD5");byte[] hash =
% ?8 ? T9 `( T5 j7 g$ m: e) W9 ^BitConverter.GetBytes(algo.GetHashCode()); . r! c3 G3 r9 e6 W5 x- S2 p
C. HashAlgorithm algo;algo = HashAlgorithm.Create(message.ToString());byte[] hash =
8 s- T) ^" ]. Walgo.Hash;
& @8 P$ [2 G3 `! DD. HashAlgorithm algo = HashAlgorithm.Create("MD5");byte[] hash =
: W' ]& o' |9 o" m+ Inull;algo.TransformBlock(message, 0, message.Length, hash, 0); 6 [$ h1 m+ k9 [- ?: P1 B
答案: A
# v Q4 j, g; F# n: E) j! ]% L) z/ x % i Z! M6 K" m
第 23 题
/ q" Z" V$ \, {4 }1 Q你需要创建一个名为 MyAssembly 的动态类库,同时你也需要把类库保存到磁盘。你应该使用
' ~. t3 [8 o) G6 i' l, |2 c下面那个代码段? 2 T+ c1 a8 v; I" ]
A. AssemblyName myAssemblyName =
! @5 M' X, q- L6 M* Pnew AssemblyName();myAssemblyName.Name = "MyAssembly";AssemblyBuilder
( c# r+ C# f) V7 J! f( MmyAssemblyBuilder =
' y+ Z4 q/ Q& r% e& m; {AppDomain.CurrentDomain.DefineDynamicAssembly
. ~5 s0 D7 W5 p(myAssemblyName,
( {3 i; t" K% D8 {1 h; VAssemblyBuilderAccess.Run);myAssemblyBuilder.Save("MyAssembly.dll");
; ~4 O3 y1 ]1 V5 UB. AssemblyName myAssemblyName =
- y; Z3 Q5 `$ U/ }" wnew AssemblyName();myAssemblyName.Name = "MyAssembly";AssemblyBuilder
8 {7 D+ G& { O0 ZmyAssemblyBuilder =
" X1 e- v4 Y4 N. d. \* q: w- hAppDomain.CurrentDomain.DefineDynamicAssembly
s$ K2 X0 K8 S8 b5 @(myAssemblyName,
. G1 \+ j( z% i% c- p f) QAssemblyBulderAccess.Save);myAssemblyBuilder.Save("MyAssembly.dll"); 4 _/ c- |4 m K3 r' t6 o' M
C. AssemblyName myAssemblyName = / V9 w! l7 r, [4 W( p( n
new AssemblyName();AssemblyBuilder myAssemblyBuilder =
$ J5 V# }" s" V# ?& m% \- PAppDomain.CurrentDomain.DefineDynamicAssembly " _1 e0 ?+ B! Y8 y2 o7 f, \) e/ a* b
(myAssemblyName,
4 |, k5 S% U4 R; J+ bAssemblyBuilderAccess.RunAndSave);myAssemblyBuilder.Save("MyAssembly.dll"); ; [1 V. Q. M/ M; F9 o
D. AssemblyName myAssemblyName = # A5 ?6 [( s9 _$ Q4 t0 @
new AssemblyName("MyAssembly");AssemblyBuilder myAssemblyBuilder =
! v. k T2 ~! d7 `: pAppDomain.CurrentDomain.DefineDynamicAssembly 3 K# G$ f; V* N0 Z0 U% m7 J
(myAssemblyName,
+ j- e J9 \" x( R8 _# S* FAssemblyBuilderAccess.Save);myAssemblyBuilder.Save("c:\\MyAssembly.dll");
* e& w% Z' E' [答案: B |