|
|
|
@ -21,6 +21,7 @@ typedef struct _mp_obj_Pbkdf2_t {
|
|
|
|
|
STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_update(mp_obj_t self, mp_obj_t data);
|
|
|
|
|
|
|
|
|
|
/// def trezor.crypto.pbkdf2(prf: str, password: bytes, salt: bytes, iterations: int=None) -> Pbkdf2:
|
|
|
|
|
/// pass
|
|
|
|
|
STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) {
|
|
|
|
|
mp_arg_check_num(n_args, n_kw, 3, 4, false);
|
|
|
|
|
mp_obj_Pbkdf2_t *o = m_new_obj(mp_obj_Pbkdf2_t);
|
|
|
|
@ -53,6 +54,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_make_new(const mp_obj_type_t *type, size
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// def trezor.crypto.pbkdf2.Pbkdf2.update(self, iterations: int) -> None:
|
|
|
|
|
/// pass
|
|
|
|
|
STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_update(mp_obj_t self, mp_obj_t iterations) {
|
|
|
|
|
mp_obj_Pbkdf2_t *o = MP_OBJ_TO_PTR(self);
|
|
|
|
|
uint32_t iter = mp_obj_get_int(iterations);
|
|
|
|
@ -67,6 +69,7 @@ STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_update(mp_obj_t self, mp_obj_t iteration
|
|
|
|
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_TrezorCrypto_Pbkdf2_update_obj, mod_TrezorCrypto_Pbkdf2_update);
|
|
|
|
|
|
|
|
|
|
/// def trezor.crypto.pbkdf2.Pbkdf2.key(self) -> bytes:
|
|
|
|
|
/// pass
|
|
|
|
|
STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_key(mp_obj_t self) {
|
|
|
|
|
mp_obj_Pbkdf2_t *o = MP_OBJ_TO_PTR(self);
|
|
|
|
|
vstr_t vstr;
|
|
|
|
|