Ejemplo n.º 1
0
        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            crm = new CryptoManager();
            crm.progressMessage += new cryptoEventHandler(crm_progressMessage);
        }
        public void GetXPubReceiveAddressesBtc()
        {
            var xpub        = "xpub68MP6APrnq8Pp5wpL77MWevxkTE62PLnhM9u71xxHxJMrnKvLKaXWfoGNhyUEr7LmwPf4k872fbL2yeimSae3JBQUnD5uaMnuzuEsjkz6Zk";
            var startIndex  = 0;
            var finishIndex = 3;

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Wallet.GetXPubReceiveAddresses <GetXPubAddressesResponse>(
                NetworkCoin.BtcMainNet, xpub, startIndex, finishIndex);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "GetXPubReceiveAddressesBtc executed successfully, " +
                              $"\"{response.Addresses.Count}\" addresses were created "
        : $"GetXPubReceiveAddressesBtc error: {response.ErrorMessage}");
        }
        public void GetXPubChangeAddressesDoge()
        {
            var xpub        = "dgub8nixrpFXn11V8rnfHrHj9CtnUVNnvxvRcH8HFzXgp5ndWwBFrQdRhnwryvn74VHJUSj2YEvRqjGuzvoWWNByhXhCMvTGSaDnngQMXKDaiXZ";
            var startIndex  = 0;
            var finishIndex = 3;

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Wallet.GetXPubChangeAddresses <GetXPubAddressesResponse>(
                NetworkCoin.DogeMainNet, xpub, startIndex, finishIndex);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "GetXPubChangeAddressesDoge executed successfully, " +
                              $"\"{response.Addresses.Count}\" addresses were created "
        : $"GetXPubChangeAddressesDoge error: {response.ErrorMessage}");
        }
Ejemplo n.º 4
0
        public void LatestOhlcv()
        {
            var symbol = new Symbol {
                Id = "5b3a4d323d8cea0001653bb0"
            };
            var period = new Period("1day");

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Exchanges.Ohlcv.Latest(symbol, period, limit: 10);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "LatestOhlcv executed successfully, " +
                              $"{response.Ohlcv.Count} records returned"
        : $"LatestOhlcv error: {response.ErrorMessage}");
        }
Ejemplo n.º 5
0
        public static PackFileHeaderVer2 CreateHeader(int index, Encryption dwFlag, ulong offset,
                                                      byte[] data)
        {
            CryptoManager.Encrypt(PackVersion.NS2F, data, dwFlag, out uint size, out uint compressedSize,
                                  out uint encodedSize);

            return(new PackFileHeaderVer2 {
                BufferFlag = dwFlag,
                FileIndex = index,
                EncodedFileSize = encodedSize,
                CompressedFileSize = compressedSize,
                FileSize = size,
                Offset = offset
            });
        }
Ejemplo n.º 6
0
        public static PackFileHeaderVer3 CreateHeader(PackVersion version, int index, Encryption flag, ulong offset,
                                                      byte[] data)
        {
            CryptoManager.Encrypt(version, data, flag, out uint size, out uint compressedSize, out uint encodedSize);

            return(new PackFileHeaderVer3(version)
            {
                BufferFlag = flag,
                FileIndex = index,
                EncodedFileSize = encodedSize,
                CompressedFileSize = compressedSize,
                FileSize = size,
                Offset = offset
            });
        }
        public void ExchangeRateInExchange()
        {
            var baseAsset  = new Asset("5b1ea92e584bf50020130612");
            var quoteAsset = new Asset("5b1ea92e584bf50020130615");
            var exchange   = new Exchange("5b4366dab98b280001540e16");

            var manager      = new CryptoManager(ApiKey);
            var exchangeRate = manager.Exchanges.Rates.GetOne(baseAsset, quoteAsset, exchange);

            Console.WriteLine(string.IsNullOrEmpty(exchangeRate.ErrorMessage)
        ? "ExchangeRateInExchange executed successfully, a MedianPrice for " +
                              $"{exchangeRate.Rate.BaseAssetId}/{exchangeRate.Rate.QuoteAssetId} " +
                              $"is {exchangeRate.Rate.MedianPrice}"
        : $"ExchangeRateInExchange error: {exchangeRate.ErrorMessage}");
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Возвращает расшифрованный пароль пользователя
        /// </summary>
        /// <param name="user">Пользователь</param>
        /// <returns></returns>
        /// <exception cref="CryptographicException"></exception>
        public static string GetDecryptedPassword(this DUP_USER user)
        {
            string result;

            if ((user.US_Attribute & (int)DupUserAttributes.Converted) == (int)DupUserAttributes.Converted)
            {
                result = String.IsNullOrEmpty(user.US_PASSWORD) ? String.Empty : CryptoManager.DecodeTripleDesString(user.US_PASSWORD);
            }
            else
            {
                throw new CryptographicException("Невозможно расшифровать пароль пользователя, так как он не зашифрован");
            }

            return(result);
        }
Ejemplo n.º 9
0
        public void ImportAddressAsWalletDash()
        {
            var walletName = "testImportWallet";
            var password   = "******";
            var privateKey = "8aeb39b5f9b0xxxxxxxc7001c1cecc112712c9448b";
            var address    = "yVrjEE1zwXckCMXZoTStJtb9SJ29xr1ZMc";

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Wallet.ImportAddressAsWallet <ImportAddressAsWalletResponse>(
                NetworkCoin.DashMainNet, walletName, password, privateKey, address);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "ImportAddressAsWalletDash executed successfully, " +
                              $"\"{response.Payload.Addresses.Count}\" addresses were imported "
        : $"ImportAddressAsWalletDash error: {response.ErrorMessage}");
        }
Ejemplo n.º 10
0
        public void OrderBook()
        {
            var exchange   = new Exchange("5bfc325c9c40a100014db8ff");
            var baseAsset  = new Asset(); // todo: сделать реальный id (BITFINEX_SPOT_EOS_BTC)
            var quoteAsset = new Asset();

            var manager   = new CryptoManager(ApiKey);
            var orderBook = manager.Exchanges.OrderBook.Get(
                exchange, baseAsset, quoteAsset);

            Console.WriteLine(string.IsNullOrEmpty(orderBook.ErrorMessage)
        ? "OrderBook executed successfully, " +
                              $"asks count is {orderBook.OrderBook.Depth.Asks.Count}, " +
                              $"bids count is {orderBook.OrderBook.Depth.Bids.Count}."
        : $"OrderBook error: {orderBook.ErrorMessage}");
        }
Ejemplo n.º 11
0
        public void LocallySignTransaction()
        {
            var fromAddress = "0x1b85a43e2e7f52e766ddfdfa2b901c42cb1201be";
            var toAddress   = "0x0cb1883c01377f45ee5d7448a32b5ac1709afc11";
            var value       = 1.212;

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Transaction.
                           LocallySignTransaction <LocallySignTransactionResponse>(
                NetworkCoin.EthMainNet, fromAddress, toAddress, value);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "LocallySignTransaction executed successfully, " +
                              $"transfered \"{response.Payload.Value}\""
        : $"LocallySignTransaction error: {response.ErrorMessage}");
        }
        public void ImportAddressAsWalletLtc()
        {
            var walletName = "testImportWallet";
            var password   = "******";
            var privateKey = "8aeb39b5f9b0xxxxxxxc7001c1cecc112712c9448b";
            var address    = "mzBQrW3t9XKx9x1Wh7mkxagVo3Kc6U7Z2H";

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Wallet.ImportAddressAsWallet <ImportAddressAsWalletResponse>(
                NetworkCoin.LtcMainNet, walletName, password, privateKey, address);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "ImportAddressAsWalletLtc executed successfully, " +
                              $"\"{response.Payload.Addresses.Count}\" addresses were imported "
        : $"ImportAddressAsWalletLtc error: {response.ErrorMessage}");
        }
Ejemplo n.º 13
0
        public void ImportAddressAsWalletDoge()
        {
            var walletName = "testImportWallet";
            var password   = "******";
            var privateKey = "8aeb39b5f9b0xxxxxxxc7001c1cecc112712c9448b";
            var address    = "no3yJMxBSKzq6wuUNLN7cUssfPGTiRbb5c";

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Wallet.ImportAddressAsWallet <ImportAddressAsWalletResponse>(
                NetworkCoin.DogeMainNet, walletName, password, privateKey, address);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "ImportAddressAsWalletDoge executed successfully, " +
                              $"\"{response.Payload.Addresses.Count}\" addresses were imported "
        : $"ImportAddressAsWalletDoge error: {response.ErrorMessage}");
        }
        public void CreateConfirmedTransactionBch()
        {
            var url               = "http://www.mocky.io/v2/5b0d4b5f3100006e009d55f5";
            var transactionHash   = "9bba7c4a8121f4bf9819ea481f4abd5e501db40815e23a70dfcb9e99eb9ba05e";
            var confirmationCount = 6;

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.WebhookNotification.
                           CreateConfirmedTransaction <CreateBtcConfirmedTransactionWebHookResponse>(
                NetworkCoin.BchMainNet, url, transactionHash, confirmationCount);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "CreateConfirmedTransactionBch executed successfully, " +
                              $"HookId is \"{response.Hook.Id}\""
        : $"CreateConfirmedTransactionBch error: {response.ErrorMessage}");
        }
Ejemplo n.º 15
0
        public string CreateAddressEth()
        {
            var url     = "http://somepoint.point";
            var address = "0xe816c453a99b12bb65ea55db22a6fe70f63c2c7a";

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.WebhookNotification.CreateAddress <CreateEthAddressWebHookResponse>(
                NetworkCoin.EthRopsten, url, address);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "CreateAddressEth executed successfully, HookId is \"" +
                              $"{response.Hook.Id}\""
        : $"CreateAddressEth error: {response.ErrorMessage}");

            return(response.Hook.Id);
        }
        public void HistoricalOhlcvByExchange()
        {
            var exchange    = new Exchange("5b4e131b6ab304000a106945");
            var period      = new Period("6hrs");
            var startPeriod = new DateTime(2019, 02, 04);
            var endPeriod   = new DateTime(2019, 02, 05);

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Exchanges.Ohlcv.Historical(
                exchange, period, startPeriod, endPeriod, limit: 10);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "HistoricalOhlcvByExchange executed successfully, " +
                              $"{response.Ohlcv.Count} records returned"
        : $"HistoricalOhlcvByExchange error: {response.ErrorMessage}");
        }
        public void EstimateTransactionGas()
        {
            var fromAddress = "0x7857af2143cb06ddc1dab5d7844c9402e89717cb";
            var toAddress   = "0xc595B20EEC3d35E8f993d79262669F3ADb6328f7";
            var value       = 0.12;
            var data        = "24224747A80F225FD841E7AB2806A2FDF78525B58C1BC1F5D5A5D3943B4214B6C350CE0D973CAD81BD7A6E57048A487939D7CD6373BF8C9F3ADB6328f7";

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Transaction.EstimateTransactionGas <EstimateTransactionGasResponse>(
                NetworkCoin.EthMainNet, fromAddress, toAddress, value, data);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "EstimateTransactionGas executed successfully, " +
                              $"gas needed {response.Payload.GasLimit}"
        : $"EstimateTransactionGas error: {response.ErrorMessage}");
        }
Ejemplo n.º 18
0
        public FileContentResult ImageValidator()
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            VerifyImage v    = new VerifyImage();
            string      code = v.CreateVerifyCode();

            CookieHelper.SaveCookie <String>("VerifyCode", code);
            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
            {
                Bitmap image = v.CreateImageCode(code);
                image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                code = CryptoManager.Encrypt(code.ToUpper());
                byte[] b = ms.GetBuffer();
                return(File(b, @"image/jpg"));
            }
        }
Ejemplo n.º 19
0
        public ActionResult Login_ko(UserData login_user, string remember)
        {
            if (!string.IsNullOrEmpty(login_user.user_email) && !string.IsNullOrEmpty(login_user.user_password) && login_user != null)
            {
                var user = db.UserData.Find(login_user.user_email);

                //이번엔 사용자가 있어야됨
                if (user != null)
                {
                    //비밀번호 확인
                    if (user.user_password.Equals(CryptoManager.GetMd5Hash(login_user.user_password)))
                    {
                        if (!user.verified)
                        {
                            //이메일 미인증
                            return(Content("<html><script>alert('이메일 인증을 해주세요.'); window.top.location.href = '/Home/ConfirmEmail?email=" + login_user.user_email + "';</script></html>"));
                        }
                        else
                        {
                            ////인증쿠키 추가
                            FormsAuthentication.SetAuthCookie(user.user_email, false);
                            Response.Cookies["user_email"].Value = user.user_email;
                            Response.Cookies["user_level"].Value = Convert.ToString(user.user_level);

                            return(Redirect("/Home/Index_ko"));
                        }
                    }
                    else
                    {
                        //비밀번호 틀림
                        ViewBag.Error = "비밀번호를 확인해주세요";
                    }
                }
                else
                {
                    //사용자 없음
                    ViewBag.Error = "등록되지 않은 아이디 입니다.";
                }
            }
            else
            {
                //리퀘스트 값이 없음
                ViewBag.Error = "아이디와 비밀번호를 입력해주세요";
            }

            return(View());
        }
Ejemplo n.º 20
0
        public ActionResult Login(UserData login_user, string remember)
        {
            if (!string.IsNullOrEmpty(login_user.user_email) && !string.IsNullOrEmpty(login_user.user_password) && login_user != null)
            {
                var user = db.UserData.Find(login_user.user_email);

                //이번엔 사용자가 있어야됨
                if (user != null)
                {
                    //비밀번호 확인
                    if (user.user_password.Equals(CryptoManager.GetMd5Hash(login_user.user_password)))
                    {
                        if (!user.verified)
                        {
                            //이메일 미인증
                            return(Content("<html><script>alert('Please verify your email.'); window.top.location.href = '/Home/ConfirmEmail?email=" + login_user.user_email + "';</script></html>"));
                        }
                        else
                        {
                            ////인증쿠키 추가
                            FormsAuthentication.SetAuthCookie(user.user_email, false);
                            Response.Cookies["user_email"].Value = user.user_email;
                            Response.Cookies["user_level"].Value = Convert.ToString(user.user_level);

                            return(Redirect("/Home/Index"));
                        }
                    }
                    else
                    {
                        //비밀번호 틀림
                        ViewBag.Error = "Please check your password.";
                    }
                }
                else
                {
                    //사용자 없음
                    ViewBag.Error = "The user name is not registered.";
                }
            }
            else
            {
                //리퀘스트 값이 없음
                ViewBag.Error = "Please enter your username and password.";
            }

            return(View());
        }
Ejemplo n.º 21
0
        public string CreateHdWalletBch()
        {
            var walletName   = "DemoBchWallet";
            var addressCount = 3;
            var password     = "******";

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Wallet.CreateHdWallet <BchHdWalletInfoResponse>(
                NetworkCoin.BchMainNet, walletName, addressCount, password);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "CreateHdWalletBch executed successfully, " +
                              $"HD wallet \"{response.Wallet.Name}\" created"
        : $"CreateHdWalletBch error: {response.ErrorMessage}");

            return(response.Wallet.Name);
        }
Ejemplo n.º 22
0
        public void SignTransactionDash()
        {
            var hexEncodedInfo =
                "02000000012dbde4adf0ce369cbf98ea01be40b1c927ae59b7fc29a8a782fb7aedafcab9d30100000000ffffffff0220f4027f000000001976a9140b974dc2170aaf6759800466b93ecb9305c2924888ac16507702000000001976a91468a3b32fd54f6998f92d155cfb23b662acc4bb5288ac00000000";
            var wifs = new List <string> {
                "cVcBtNotRXr9BtcfkC9EPp2fsS6mDHE67o4y1bh6Q3pEKuvPqaJA"
            };

            var manager  = new CryptoManager(ApiKey);
            var response = manager.Blockchains.Transaction.SignTransaction <SignBtcTransactionResponse>(
                NetworkCoin.DashTestNet, hexEncodedInfo, wifs);

            Console.WriteLine(string.IsNullOrEmpty(response.ErrorMessage)
        ? "SignTransactionDash executed successfully, " +
                              $"return hex is {response.Payload.Hex}"
        : $"SignTransactionDash error: {response.ErrorMessage}");
        }
    private byte[] signToken(byte[] data)
    {
        string keyFilePath = Server.MapPath("~/bin/signingcertificate.xml");
        if (!File.Exists(keyFilePath))
        {
            throw new Exception("Invalid portal configuration. The signingcertificate.xml file must be present.");
        }

        try
        {
            return CryptoManager.Sign(data, keyFilePath);
        }
        catch (Exception ex)
        {
            throw new Exception("Unable to sign token with portal certificate.");
        }
    }
Ejemplo n.º 24
0
        public static string GetString(string key, bool isEncrypt)
        {
            string encryptedText = string.Empty;
            try
            {
                System.Configuration.Configuration config = Config;

                CryptoManager cryptoManager = new CryptoManager();
                if (ContainsKey(config, key))
                {
                    encryptedText = config.AppSettings.Settings[key].Value;
                }
                if (isEncrypt)
                {
                    encryptedText = cryptoManager.Decrypt(encryptedText);
                }
            }
            catch (Exception ex)
            {
                encryptedText = string.Empty;

                string exMsg = ex.ToString();
            }

            return encryptedText;
        }