diff options
Diffstat (limited to 'utils/imxtools/sbtools/crypto.cpp')
-rw-r--r-- | utils/imxtools/sbtools/crypto.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/utils/imxtools/sbtools/crypto.cpp b/utils/imxtools/sbtools/crypto.cpp index 5ccde27fdd..d7ef04f098 100644 --- a/utils/imxtools/sbtools/crypto.cpp +++ b/utils/imxtools/sbtools/crypto.cpp | |||
@@ -22,6 +22,7 @@ | |||
22 | #include "misc.h" | 22 | #include "misc.h" |
23 | #include <cryptopp/modes.h> | 23 | #include <cryptopp/modes.h> |
24 | #include <cryptopp/aes.h> | 24 | #include <cryptopp/aes.h> |
25 | #include <cryptopp/sha.h> | ||
25 | 26 | ||
26 | using namespace CryptoPP; | 27 | using namespace CryptoPP; |
27 | 28 | ||
@@ -124,3 +125,25 @@ int crypto_apply( | |||
124 | else | 125 | else |
125 | return CRYPTO_ERROR_BADSETUP; | 126 | return CRYPTO_ERROR_BADSETUP; |
126 | } | 127 | } |
128 | |||
129 | void sha_1_init(struct sha_1_params_t *params) | ||
130 | { | ||
131 | params->object = new SHA1; | ||
132 | } | ||
133 | |||
134 | void sha_1_update(struct sha_1_params_t *params, byte *buffer, int size) | ||
135 | { | ||
136 | reinterpret_cast<SHA1 *>(params->object)->Update(buffer, size); | ||
137 | } | ||
138 | |||
139 | void sha_1_finish(struct sha_1_params_t *params) | ||
140 | { | ||
141 | SHA1 *obj = reinterpret_cast<SHA1 *>(params->object); | ||
142 | obj->Final(params->hash); | ||
143 | delete obj; | ||
144 | } | ||
145 | |||
146 | void sha_1_output(struct sha_1_params_t *params, byte *out) | ||
147 | { | ||
148 | memcpy(out, params->hash, 20); | ||
149 | } | ||