internal async Task <e_error> connect(string password) { y_register_x y = new(); var dv_key = p_crypto.create_symmetrical_keys(); y.a_key_data = m_key.create(dv_key); y.a_key_data = p_crypto.Encrypt(y.a_key_data, public_key.data); var login_m = new m_register_x() { a_xid = all_command.x_center, a_password = password }; y.a_register_data = p_crypto.convert(login_m); y.a_register_data = p_crypto.Encrypt(y.a_register_data, dv_key); var o = await y.run(a.api3.c_run()); if (o.z_error == e_error.non) { dv_key.id = o.a_deviceid; var db = a.api3.s_db.general_x <m_data>(); await db.upsert(new m_data() { id = "key", data = p_crypto.convert(dv_key) }); a.api3.c_key = dv_key; } return(o.z_error); }
async Task <bool> check_login(m_register_x val) { if (val.a_xid.Substring(0, 2) != "x_") { return(false); } var password = await a.get_password(val.a_xid); return(val.a_password == password); }