Changeset 36
- Timestamp:
- 07/06/04 08:01:23 (5 years ago)
- Files:
-
- trunk/etc/crypto/hash/md.d (modified) (2 diffs)
- trunk/etc/crypto/hash/misc.d (modified) (3 diffs)
- trunk/etc/crypto/hash/sha.d (modified) (2 diffs)
- trunk/etc/crypto/hash/sha256.d (added)
- trunk/etc/crypto/hash/sha512.d (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/etc/crypto/hash/md.d
r35 r36 21 21 ]; 22 22 23 void extend() 24 { 25 } 26 23 27 static void padMessage(ubyte[] at) 24 28 { … … 42 46 return x^y^z; 43 47 } 44 45 void extend()46 {47 }48 48 } trunk/etc/crypto/hash/misc.d
r35 r36 78 78 } 79 79 } 80 81 static void decode2(ubyte[] input, uint[] output) 82 in { 83 assert(output.length == input.length / 4); 84 } 85 body { 86 output[] = 0; 87 88 for(uint i = 0; i < input.length; i++) { 89 output[i/4] <<= 8; 90 version (BigEndian) output[i/4] |= cast(uint)input[i^3]; 91 else output[i/4] |= cast(uint)input[i]; 92 } 93 } 94 80 95 static void decode(ubyte[] input, ulong[] output) 81 96 in { … … 89 104 version (BigEndian) output[i/8] |= cast(ulong)input[i]; 90 105 else output[i/8] |= cast(ulong)input[i^7]; 106 } 107 } 108 109 static void decode2(ubyte[] input, ulong[] output) 110 in { 111 assert(output.length == input.length/8); 112 } 113 body { 114 output[] = 0; 115 116 for(uint i = 0; i < input.length; i++) { 117 output[i/8] <<= 8; 118 version (BigEndian) output[i/8] |= cast(ulong)input[i^7]; 119 else output[i/8] |= cast(ulong)input[i]; 91 120 } 92 121 } … … 145 174 return hexStringT!(typeof(array))(array); 146 175 } 176 177 char[] toHexString(uint[] array) 178 { 179 return hexStringT!(typeof(array))(array); 180 } trunk/etc/crypto/hash/sha.d
r35 r36 10 10 11 11 protected: 12 static uint blockSize = 64;13 static uint addSize = 8;14 12 static uint mask = 0x0000000F; 15 13 static ubyte padChar = 0x80; 14 static uint blockSize = 64; 15 static uint addSize = 8; 16 16 17 17 static uint[] K = [ … … 101 101 else return B ^ C ^ D; 102 102 } 103 104 static void decode2(ubyte[] input, uint[] output)105 {106 output.length = input.length / 4;107 output[] = 0;108 109 for(uint i = 0; i < input.length; i++) {110 output[i/4] <<= 8;111 version (BigEndian) output[i/4] |= cast(uint)input[i^3];112 else output[i/4] |= cast(uint)input[i];113 }114 }115 103 }
