ReadWithoutEncryption() public méthode

��Í����̈�ǂݍ���
public ReadWithoutEncryption ( int servicecode, int addr ) : byte[]
servicecode int �T�[�r�X�R�[�h
addr int �A�h���X
Résultat byte[]
        private static void readNanaco(Felica f)
        {
            f.Polling((int)SystemCode.Common);
            byte[] data = f.ReadWithoutEncryption(0x558b, 0);
            if (data == null)
            {
                throw new Exception("nanaco ID が読み取れません");
            }
            Console.Write("Nanaco ID = ");
            for (int i = 0; i < 8; i++)
            {
                Console.Write(data[i].ToString("X2"));
            }
            Console.Write("\n");

            for (int i = 0; ; i++)
            {
                data = f.ReadWithoutEncryption(0x564f, i);
                if (data == null)
                {
                    break;
                }

                switch (data[0])
                {
                case 0x47:
                default:
                    Console.Write("支払     ");
                    break;

                case 0x6f:
                    Console.Write("チャージ ");
                    break;
                }

                int value = (data[9] << 24) + (data[10] << 16) + (data[11] << 8) + data[12];
                int year  = (value >> 21) + 2000;
                int month = (value >> 17) & 0xf;
                int date  = (value >> 12) & 0x1f;
                int hour  = (value >> 6) & 0x3f;
                int min   = value & 0x3f;

                Console.Write("{0}/{1:D2}/{2:D2} {3:D2}:{4:D2}", year, month, date, hour, min);

                value = (data[1] << 24) + (data[2] << 16) + (data[3] << 8) + data[4];
                Console.Write("  金額 {0,6}円", value);

                value = (data[5] << 24) + (data[6] << 16) + (data[7] << 8) + data[8];
                Console.Write("  残高 {0,6}円", value);

                value = (data[13] << 8) + data[14];
                Console.WriteLine("  連番 {0}", value);
            }
        }
        private static void readNanaco(Felica f)
        {
            f.Polling((int)SystemCode.Common);
            byte[] data = f.ReadWithoutEncryption(0x558b, 0);
            if (data == null)
            {
                throw new Exception("nanaco ID ���ǂݎ��܂���");
            }
            Console.Write("Nanaco ID = ");
            for (int i = 0; i < 8; i++) {
                Console.Write(data[i].ToString("X2"));
            }
            Console.Write("\n");

            for (int i = 0; ; i++)
            {
                data = f.ReadWithoutEncryption(0x564f, i);
                if (data == null) break;

                switch (data[0])
                {
                    case 0x47:
                    default:
                        Console.Write("�x��     ");
                        break;
                    case 0x6f:
                        Console.Write("�`���[�W ");
                        break;
                }

                int value = (data[9] << 24) + (data[10] << 16) + (data[11] << 8) + data[12];
                int year = (value >> 21) + 2000;
                int month = (value >> 17) & 0xf;
                int date = (value >> 12) & 0x1f;
                int hour = (value >> 6) & 0x3f;
                int min = value & 0x3f;

                Console.Write("{0}/{1:D2}/{2:D2} {3:D2}:{4:D2}", year, month, date, hour, min);

                value = (data[1] << 24) + (data[2] << 16) + (data[3] << 8) + data[4];
                Console.Write("  ��z {0,6}�~", value);

                value = (data[5] << 24) + (data[6] << 16) + (data[7] << 8) + data[8];
                Console.Write("  �c�� {0,6}�~", value);

                value = (data[13] << 8) + data[14];
                Console.WriteLine("  �A�� {0}", value);
            }
        }
Exemple #3
0
 /// <summary>
 /// 非暗号化領域の 1 つのブロックのデータを読み込みます。
 /// </summary>
 /// <param name="systemCode">システム コード。</param>
 /// <param name="serviceCode">サービス コード。</param>
 /// <param name="address">アドレス。</param>
 /// <returns>非暗号化領域のブロックのデータ。配列の長さは 16 です。</returns>
 public static byte[] ReadWithoutEncryption(int systemCode, int serviceCode, int address)
 {
     using (var felica = new Felica(systemCode))
     {
         return(felica.ReadWithoutEncryption(serviceCode, address));
     }
 }
 /// <summary>
 /// 非暗号化領域の 1 つのブロックのデータを読み込みます。
 /// </summary>
 /// <param name="systemCode">システム コード。</param>
 /// <param name="serviceCode">サービス コード。</param>
 /// <param name="address">アドレス。</param>
 /// <returns>非暗号化領域のブロックのデータ。配列の長さは 16 です。</returns>
 public static byte[] ReadWithoutEncryption(int systemCode, int serviceCode, int address)
 {
     using (var felica = new Felica(systemCode))
     {
         return felica.ReadWithoutEncryption(serviceCode, address);
     }
 }
        static void ReadEdyBalanceEtc()
        {
            using (var felica = new Felica(FelicaSystemCode.Edy))
            {
                Console.WriteLine(felica.GetIDm().ToHexString());
                Console.WriteLine(felica.GetPMm().ToHexString());

                var data = felica.ReadWithoutEncryption(FelicaServiceCode.EdyBalance, 0);
                Console.WriteLine(new EdyBalanceItem(data).Balance);
            }
        }
 static void Test2()
 {
     using (var felica = new Felica(FelicaSystemCode.Edy))
     {
         for (int i = 0; i < 1000; i++)
         {
             try
             {
                 var data = felica.ReadWithoutEncryption(FelicaServiceCode.EdyBalance, 0);
                 Console.WriteLine(new EdyBalanceItem(data).Balance);
             }
             catch (Exception ex)
             {
                 Console.WriteLine(ex.Message);
             }
         }
     }
 }
        static void Test1()
        {
            for (int i = 0; i < 1000; i++)
            {
                Console.WriteLine("Start");

                using (var felica = new Felica(FelicaSystemCode.Edy))
                {
                    Console.WriteLine("FeliCa ポート: {0}", felica.TryConnectionToPort());
                    Console.WriteLine("IC カード: {0}", felica.TryConnectionToCard());

                    try
                    {
                        Console.WriteLine(felica.GetIDm().ToHexString());
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    try
                    {
                        Console.WriteLine(felica.GetPMm().ToHexString());
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    try
                    {
                        var data = felica.ReadWithoutEncryption(FelicaServiceCode.EdyBalance, 0);
                        Console.WriteLine(new EdyBalanceItem(data).Balance);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
        }
        public void ReadWithoutEncryption_ManyTimes1()
        {
            Task.Run(() =>
            {
                using (var felica = new Felica(FelicaSystemCode.Edy))
                {
                    for (int i = 0; i < 100; i++)
                    {
                        try
                        {
                            var data = felica.ReadWithoutEncryption(FelicaServiceCode.EdyBalance, 0);
                            Console.WriteLine(new EdyBalanceItem(data).Balance);
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                }
            });

            Thread.Sleep(10000);
        }
 public void Felica_ReadWithoutEncryption_Suica()
 {
     using (var felica = new Felica(FelicaSystemCode.Suica))
     {
         Debug.WriteLine(felica.ReadWithoutEncryption(FelicaServiceCode.SuicaAttributes, 0).ToHexString());
     }
 }
 public void Felica_ReadWithoutEncryption_Edy()
 {
     using (var felica = new Felica(FelicaSystemCode.Edy))
     {
         Debug.WriteLine(felica.ReadWithoutEncryption(FelicaServiceCode.EdyBalance, 0).ToHexString());
     }
 }
Exemple #11
0
        //[FelicaLib]Suica読み込み
        private static void PrintSuicaNo(FelicaLib.Felica f)
        {
            // システムコード: 0003 (Suicaなどの領域)
            f.Polling((int)SystemCode.Suica);
            //f.Polling((int)SystemCode.Any);

            Console.WriteLine("IDm=" + BitConverter.ToString(f.IDm()));
            Console.WriteLine("PMm=" + BitConverter.ToString(f.PMm()));

            // Suica 各サービスコード
            for (int i = 0; ; i++)
            {
                // サービスコード 乗降履歴情報
                byte[] data = f.ReadWithoutEncryption(0x090f, i);
                if (data == null)
                {
                    break;
                }
                Console.WriteLine("Suica 乗降履歴情報 [" + i + "]  " + BitConverter.ToString(data));
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica カード種別およびカード残額情報 " + i);
                // サービスコード カード種別およびカード残額情報
                byte[] data = f.ReadWithoutEncryption(0x008B, i);
                if (data == null)
                {
                    break;
                }
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica 改札入出場履歴情報 " + i);
                // サービスコード 改札入出場履歴情報
                byte[] data = f.ReadWithoutEncryption(0x108F, i);
                if (data == null)
                {
                    break;
                }
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica SF入場情報 " + i);
                // サービスコード SF入場情報
                byte[] data = f.ReadWithoutEncryption(0x10CB, i);
                if (data == null)
                {
                    break;
                }
            }
            for (int i = 0; ; i++)
            {
                Console.WriteLine("Suica 料金券情報 " + i);
                // サービスコード 料金券情報
                byte[] data = f.ReadWithoutEncryption(0x184B, i);
                if (data == null)
                {
                    break;
                }
            }

            for (int i = 0; ; i++)
            {
                byte[] data = f.ReadWithoutEncryption(0x008B, i);
                if (data == null)
                {
                    break;
                }
            }
        }