示例#1
0
        private async Task <MetaMaskLogin> GetAndStoreHash()
        {
            string signHash = await MetaMaskService.SignTypedData(SignLabel, SignValue);

            string address = await MetaMaskService.GetSelectedAddress();

            MetaMaskLogin storedLogin = new MetaMaskLogin(address, signHash);

            //Store hash in cookie
            await MetaMaskStorageService.SaveStoredHash(storedLogin);

            return(storedLogin);
        }
示例#2
0
        public async Task SaveStoredHash(MetaMaskLogin storedLogin)
        {
            try
            {
                var key = SiaSkynetClient.GenerateKeys(storedLogin.address);

                string jsonString = JsonSerializer.Serialize(storedLogin);
                var    encrypted  = Utils.Encrypt(System.Text.Encoding.UTF8.GetBytes(jsonString), key.privateKey);
                var    hexString  = BitConverter.ToString(encrypted).Replace("-", "");

                await localStorageService.SetItemAsStringAsync(MetaMaskLocalStorageKey, hexString);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }