@@ -63,6 +63,38 @@ STATIC mp_obj_t uhashlib_sha256_make_new(const mp_obj_type_t *type, size_t n_arg
6363 return MP_OBJ_FROM_PTR (o );
6464}
6565
66+ STATIC mp_obj_t uhashlib_sha256_update (mp_obj_t self_in , mp_obj_t arg ) {
67+ mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
68+ mp_buffer_info_t bufinfo ;
69+ mp_get_buffer_raise (arg , & bufinfo , MP_BUFFER_READ );
70+ sha256_update ((CRYAL_SHA256_CTX * )self -> state , bufinfo .buf , bufinfo .len );
71+ return mp_const_none ;
72+ }
73+ MP_DEFINE_CONST_FUN_OBJ_2 (uhashlib_sha256_update_obj , uhashlib_sha256_update );
74+
75+ STATIC mp_obj_t uhashlib_sha256_digest (mp_obj_t self_in ) {
76+ mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
77+ vstr_t vstr ;
78+ vstr_init_len (& vstr , SHA256_BLOCK_SIZE );
79+ sha256_final ((CRYAL_SHA256_CTX * )self -> state , (byte * )vstr .buf );
80+ return mp_obj_new_str_from_vstr (& mp_type_bytes , & vstr );
81+ }
82+ MP_DEFINE_CONST_FUN_OBJ_1 (uhashlib_sha256_digest_obj , uhashlib_sha256_digest );
83+
84+ STATIC const mp_rom_map_elem_t uhashlib_sha256_locals_dict_table [] = {
85+ { MP_ROM_QSTR (MP_QSTR_update ), MP_ROM_PTR (& uhashlib_sha256_update_obj ) },
86+ { MP_ROM_QSTR (MP_QSTR_digest ), MP_ROM_PTR (& uhashlib_sha256_digest_obj ) },
87+ };
88+
89+ STATIC MP_DEFINE_CONST_DICT (uhashlib_sha256_locals_dict , uhashlib_sha256_locals_dict_table );
90+
91+ STATIC const mp_obj_type_t uhashlib_sha256_type = {
92+ { & mp_type_type },
93+ .name = MP_QSTR_sha256 ,
94+ .make_new = uhashlib_sha256_make_new ,
95+ .locals_dict = (void * )& uhashlib_sha256_locals_dict ,
96+ };
97+
6698#if MICROPY_PY_UHASHLIB_SHA1
6799STATIC mp_obj_t uhashlib_sha1_update (mp_obj_t self_in , mp_obj_t arg );
68100
@@ -77,6 +109,22 @@ STATIC mp_obj_t uhashlib_sha1_make_new(const mp_obj_type_t *type, size_t n_args,
77109 }
78110 return MP_OBJ_FROM_PTR (o );
79111}
112+
113+ STATIC mp_obj_t uhashlib_sha1_update (mp_obj_t self_in , mp_obj_t arg ) {
114+ mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
115+ mp_buffer_info_t bufinfo ;
116+ mp_get_buffer_raise (arg , & bufinfo , MP_BUFFER_READ );
117+ SHA1_Update ((SHA1_CTX * )self -> state , bufinfo .buf , bufinfo .len );
118+ return mp_const_none ;
119+ }
120+
121+ STATIC mp_obj_t uhashlib_sha1_digest (mp_obj_t self_in ) {
122+ mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
123+ vstr_t vstr ;
124+ vstr_init_len (& vstr , SHA1_SIZE );
125+ SHA1_Final ((byte * )vstr .buf , (SHA1_CTX * )self -> state );
126+ return mp_obj_new_str_from_vstr (& mp_type_bytes , & vstr );
127+ }
80128#endif
81129
82130#if MICROPY_SSL_MBEDTLS
@@ -91,66 +139,15 @@ STATIC mp_obj_t uhashlib_sha1_make_new(const mp_obj_type_t *type, size_t n_args,
91139 }
92140 return MP_OBJ_FROM_PTR (o );
93141}
94- #endif
95-
96- #endif
97-
98- STATIC mp_obj_t uhashlib_sha256_update (mp_obj_t self_in , mp_obj_t arg ) {
99- mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
100- mp_buffer_info_t bufinfo ;
101- mp_get_buffer_raise (arg , & bufinfo , MP_BUFFER_READ );
102- sha256_update ((CRYAL_SHA256_CTX * )self -> state , bufinfo .buf , bufinfo .len );
103- return mp_const_none ;
104- }
105- MP_DEFINE_CONST_FUN_OBJ_2 (uhashlib_sha256_update_obj , uhashlib_sha256_update );
106-
107- #if MICROPY_PY_UHASHLIB_SHA1
108142
109- #if MICROPY_SSL_AXTLS
110- STATIC mp_obj_t uhashlib_sha1_update (mp_obj_t self_in , mp_obj_t arg ) {
111- mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
112- mp_buffer_info_t bufinfo ;
113- mp_get_buffer_raise (arg , & bufinfo , MP_BUFFER_READ );
114- SHA1_Update ((SHA1_CTX * )self -> state , bufinfo .buf , bufinfo .len );
115- return mp_const_none ;
116- }
117- #endif
118-
119- #if MICROPY_SSL_MBEDTLS
120143STATIC mp_obj_t uhashlib_sha1_update (mp_obj_t self_in , mp_obj_t arg ) {
121144 mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
122145 mp_buffer_info_t bufinfo ;
123146 mp_get_buffer_raise (arg , & bufinfo , MP_BUFFER_READ );
124147 mbedtls_sha1_update ((mbedtls_sha1_context * )self -> state , bufinfo .buf , bufinfo .len );
125148 return mp_const_none ;
126149}
127- #endif
128-
129- MP_DEFINE_CONST_FUN_OBJ_2 (uhashlib_sha1_update_obj , uhashlib_sha1_update );
130- #endif
131-
132- STATIC mp_obj_t uhashlib_sha256_digest (mp_obj_t self_in ) {
133- mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
134- vstr_t vstr ;
135- vstr_init_len (& vstr , SHA256_BLOCK_SIZE );
136- sha256_final ((CRYAL_SHA256_CTX * )self -> state , (byte * )vstr .buf );
137- return mp_obj_new_str_from_vstr (& mp_type_bytes , & vstr );
138- }
139- MP_DEFINE_CONST_FUN_OBJ_1 (uhashlib_sha256_digest_obj , uhashlib_sha256_digest );
140-
141- #if MICROPY_PY_UHASHLIB_SHA1
142-
143- #if MICROPY_SSL_AXTLS
144- STATIC mp_obj_t uhashlib_sha1_digest (mp_obj_t self_in ) {
145- mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
146- vstr_t vstr ;
147- vstr_init_len (& vstr , SHA1_SIZE );
148- SHA1_Final ((byte * )vstr .buf , (SHA1_CTX * )self -> state );
149- return mp_obj_new_str_from_vstr (& mp_type_bytes , & vstr );
150- }
151- #endif
152150
153- #if MICROPY_SSL_MBEDTLS
154151STATIC mp_obj_t uhashlib_sha1_digest (mp_obj_t self_in ) {
155152 mp_obj_hash_t * self = MP_OBJ_TO_PTR (self_in );
156153 vstr_t vstr ;
@@ -161,24 +158,9 @@ STATIC mp_obj_t uhashlib_sha1_digest(mp_obj_t self_in) {
161158}
162159#endif
163160
161+ MP_DEFINE_CONST_FUN_OBJ_2 (uhashlib_sha1_update_obj , uhashlib_sha1_update );
164162MP_DEFINE_CONST_FUN_OBJ_1 (uhashlib_sha1_digest_obj , uhashlib_sha1_digest );
165- #endif
166163
167- STATIC const mp_rom_map_elem_t uhashlib_sha256_locals_dict_table [] = {
168- { MP_ROM_QSTR (MP_QSTR_update ), MP_ROM_PTR (& uhashlib_sha256_update_obj ) },
169- { MP_ROM_QSTR (MP_QSTR_digest ), MP_ROM_PTR (& uhashlib_sha256_digest_obj ) },
170- };
171-
172- STATIC MP_DEFINE_CONST_DICT (uhashlib_sha256_locals_dict , uhashlib_sha256_locals_dict_table );
173-
174- STATIC const mp_obj_type_t uhashlib_sha256_type = {
175- { & mp_type_type },
176- .name = MP_QSTR_sha256 ,
177- .make_new = uhashlib_sha256_make_new ,
178- .locals_dict = (void * )& uhashlib_sha256_locals_dict ,
179- };
180-
181- #if MICROPY_PY_UHASHLIB_SHA1
182164STATIC const mp_rom_map_elem_t uhashlib_sha1_locals_dict_table [] = {
183165 { MP_ROM_QSTR (MP_QSTR_update ), MP_ROM_PTR (& uhashlib_sha1_update_obj ) },
184166 { MP_ROM_QSTR (MP_QSTR_digest ), MP_ROM_PTR (& uhashlib_sha1_digest_obj ) },
0 commit comments