Mercurial > projects > dcrypt
comparison dcrypt/crypto/params/ParametersWithIV.d @ 27:8b5eaf3c2979
Fixed error in hash message padding reported by Glenn Haecker.
author | Thomas Dixon <reikon@reikon.us> |
---|---|
date | Sat, 09 May 2009 23:29:20 -0400 |
parents | 5ce3012f1def |
children | 2b4bccdc8387 |
comparison
equal
deleted
inserted
replaced
26:176c933827a8 | 27:8b5eaf3c2979 |
---|---|
9 module dcrypt.crypto.params.ParametersWithIV; | 9 module dcrypt.crypto.params.ParametersWithIV; |
10 | 10 |
11 public import dcrypt.crypto.params.CipherParameters; | 11 public import dcrypt.crypto.params.CipherParameters; |
12 | 12 |
13 /** Wrap cipher parameters and IV. */ | 13 /** Wrap cipher parameters and IV. */ |
14 class ParametersWithIV : CipherParameters { | 14 class ParametersWithIV : CipherParameters |
15 { | |
15 private ubyte[] _iv; | 16 private ubyte[] _iv; |
16 private CipherParameters _params; | 17 private CipherParameters _params; |
17 | 18 |
18 /** | 19 /** |
19 * Params: | 20 * Params: |
20 * params = Parameters to wrap. | 21 * params = Parameters to wrap. |
21 * iv = IV to be held. | 22 * iv = IV to be held. |
22 */ | 23 */ |
23 this (CipherParameters params=null, ubyte[] iv=null) { | 24 this (CipherParameters params=null, ubyte[] iv=null) |
25 { | |
24 _params = params; | 26 _params = params; |
25 _iv = cast(ubyte[]) iv; | 27 _iv = cast(ubyte[]) iv; |
26 } | 28 } |
27 | 29 |
28 /** Returns: The IV. */ | 30 /** Returns: The IV. */ |
29 ubyte[] iv() { | 31 ubyte[] iv() |
32 { | |
30 return _iv; | 33 return _iv; |
31 } | 34 } |
32 | 35 |
33 /** | 36 /** |
34 * Set the IV held by this object. | 37 * Set the IV held by this object. |
35 * | 38 * |
36 * Params: | 39 * Params: |
37 * newIV = The new IV for this parameter object. | 40 * newIV = The new IV for this parameter object. |
38 * Returns: The new IV. | 41 * Returns: The new IV. |
39 */ | 42 */ |
40 ubyte[] iv(void[] newIV) {; | 43 ubyte[] iv(void[] newIV) |
44 { | |
41 return _iv = cast(ubyte[]) newIV; | 45 return _iv = cast(ubyte[]) newIV; |
42 } | 46 } |
43 | 47 |
44 /** Returns: The parameters for this object. */ | 48 /** Returns: The parameters for this object. */ |
45 CipherParameters parameters() { | 49 CipherParameters parameters() |
50 { | |
46 return _params; | 51 return _params; |
47 } | 52 } |
48 | 53 |
49 /** | 54 /** |
50 * Set the parameters held by this object. | 55 * Set the parameters held by this object. |
51 * | 56 * |
52 * Params: | 57 * Params: |
53 * newParams = The new parameters to be held. | 58 * newParams = The new parameters to be held. |
54 * Returns: The new parameters. | 59 * Returns: The new parameters. |
55 */ | 60 */ |
56 CipherParameters parameters(CipherParameters newParams) { | 61 CipherParameters parameters(CipherParameters newParams) |
62 { | |
57 return _params = newParams; | 63 return _params = newParams; |
58 } | 64 } |
59 } | 65 } |