summaryrefslogtreecommitdiff
path: root/utils/imxtools/sbtools/crypto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/imxtools/sbtools/crypto.cpp')
-rw-r--r--utils/imxtools/sbtools/crypto.cpp23
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
26using namespace CryptoPP; 27using 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
129void sha_1_init(struct sha_1_params_t *params)
130{
131 params->object = new SHA1;
132}
133
134void 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
139void 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
146void sha_1_output(struct sha_1_params_t *params, byte *out)
147{
148 memcpy(out, params->hash, 20);
149}