問題タブ [magnetic-cards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
data-storage - 磁気スワイプカードのストレージ容量
磁気スワイプカード(ATMで使用されているものなど)の通常のストレージ容量に関するアイデアはありますか?
(追記:グーグルを試しましたが、満足のいくものが得られず、指摘しました)
c++ - Linux での磁気ストライプ ID カードの読み取り/書き込み
どうすればこれを達成できますか? Linux と Windows で簡単に動作するカード リーダー/ライターの特定のブランドはありますか (これらを安価なキオスクに展開する必要があるため、Linux の方が重要です)。
algorithm - 縦方向の冗長性チェックが失敗する
磁気ストライプ リーダーからのデータをデコードするアプリケーションがあります。しかし、計算したLRCチェック バイトをカード上のものと一致させるのに苦労しています。それぞれ 3 つのトラックを持つ 3 枚のカードを取得した場合、以下のアルゴリズムはそれらのカードの 9 つのトラックのうちの 4 つで機能すると思います。
私が使用しているアルゴリズムは次のようになります(C#):
これは、チェックに失敗したトラック 3 データの例です。このカードでは、トラック 2 が一致しましたが、トラック 1 も失敗しました。
セクター区切り文字は「;」です。'?' で終わります。
このトラックの LRC バイトは 0x30 です。残念ながら、上記のアルゴリズムは、次の計算ごとに 0x00 の LRC を計算します (その長さについてお詫び申し上げます。徹底したいと思います)。
誰かが私のアルゴリズムを修正する方法を指摘できるなら、私はそれを感謝します.
ありがとう、ポールH
編集:
LRC 計算で誤ってバイトが欠落しているかどうか、または間違ったバイトが含まれているかどうかを確認できるようにします (最後の '.' は実際には '\r' です)。3 つのトラックすべてからの完全なデータ:
アルゴリズムはGetLRC()
、奇数回出現する XOR バイトのみに提案されているように再装備されています。
新しいGetLRC()
関数が実行する計算手順:
質問: LRC バイトはカード自体から来ているのですか、それともリーダーのファームウェアによって追加されているのですか? (つまり、これはおそらくファームウェアのバグです)
c++ - Linuxバックグラウンドカードスワイプリーダー
私は現在、組み込みLinuxマシンに接続されたUSBカードスワイプを持っており、私が知ることができることと私が研究したことから、それはキーボードとして機能し、入力しているようにすべてのデータを入力します。これで、このすべてのデータを取得してファイルに保存するperlスクリプトができました。唯一の問題は、perlスクリプトがフォアグラウンドで実行されている場合にのみデータを取得することを認識していることです。それ以外の場合は、「キーボード」入力がどこに入力されますか。
私の質問は、入力を読み取るたびにこのカードをスワイプしてスクリプトを実行させるにはどうすればよいですか?または、バックグラウンドで実行されているアプリを使用して、どういうわけかデータをキャプチャできますか?バックグラウンドで実行されているC++プログラムのIEは、マシンへの入力をcinが読み取りますか?
私はカードスワイプリーダーをいじったことがないので、それらがどのように機能するかについて100%確信がありません。
これに関する提案をいただければ幸いです。
c# - 磁気カードリーダーから変数への入力をキャッチ
磁気カードリーダーの入力をキャッチする方法が見つからないようです。スワイプすると、入力はメモ帳などのアクティブなテキストエディタに入ります。
残念ながら、テキストボックスではなくラベルにする必要があるため、テキストボックスフィールドにフォーカスしてもうまくいきません。したがって、代わりにUSBデバイスから変数またはラベルへの入力をキャッチする方法が必要です。
私がこれやより良いアイデアを行うために使用できる.NETクラスを知っている人はいますか?
escaping - MSR606 磁気ストライプ カード リーダー/ライター プログラマーズ マニュアルで公開されている暗号化アルゴリズム
MSR206 プログラマー向けの次のマニュアルがあります。
http://www.ylk-ic.com/MSR606%20Programmer%27s%20Manual.pdf
渡されたマニュアルでは、
ABC123
は C5B07814954E3E2A に変換され、 12345 は 2B8849EAAF に変換されました。
暗号化アルゴリズムは、ページ: 12 および 24 に記載されています。
私がそれを理解するのを手伝ってください。
たとえば、トラック1に「HELLO」、トラック2と3に896と書きたいとします。
c# - OPOS ドライバーまたは .NET フレームワークの POS なしで、HID モード (キーボードではない) で Msr (磁気ストライプ リーダー) から直接読み取る方法は?
HP USB MINI MSR (Magnetic Stripe Reader) はデフォルトで HID (ヒューマン インターフェイス) で動作し、HID-KB (キーボード モード) では動作しません。OPOS ドライバーや POS for .NET Framework などの追加のドライバーを使用せずに、MSR によって読み取られたデータに直接アクセスする方法が必要です。それを行うためのネイティブでクリーンな方法はありますか(たとえば、USBに直接アクセスするなど)。
私はC#でそれを行う必要があります。
python - マグストリップカードからのシリアル応答を待つ
私はPythonでの新しいプログラミングであり、この小さなアプリケーションで少し助けが必要なものです。
ランダムなコードを生成してマグストリップカードに書き込む小さなアプリケーションを作成します。
カードリーダーはMSR206uで、シリアルポートで接続されています。カードエンコーダーの読み取りと書き込みはできますが、エンコーダーからの確認を待つ必要があります。
エンコーダーに送信して書き込むと、書き込みはOKですが、エンコーダーからの応答を「待つ」方法がわかりません。
ご協力いただきありがとうございます!