私はMagtek uDynamoを持っており、トラック1を復号化しようとしています。私は以下を読んで少しは理解していますが、実際にデータを復号化する方法はわかりません。ベンダーは、ANSIテストキーを使用して解読すると言っていましたが、それについては何も見つかりませんでした。私はKSN、セッション、シリアル番号を持っています。私も見つけたいくつかのJavaコードを試しましたが、うまくいかないようです。 nullを返すか、間違ったBDKを入れている可能性があります。私はちょうど私がどこかで読むことのためにシリアル番号を使用しています。私はAndroidでこれをやっています。私は、HTTPSと一緒に回線を越えて暗号化されるように、デバイス上にないサーバー上で実行されるコードをお勧めします。ANSI X9.24パート1規格の3DES DUKPTを復号化する
How ciphertext was generated in card reader using DUKPT encryption?
3DES-DUKPT (CBC) decryption confirmation
https://github.com/yinheli/dukpt/blob/master/src/main/java/com/yinheli/tool/DukptDecrypt.java
更新 私はこのhttps://github.com/camcima/dukpt-php/tree/e8fceb4df8757e7e097c435221b4e93e097d3c9fを使用していANSI X9.24の一部につき3DES DUKPTを解読するために1標準
を探しています
私はファイルを更新し、最新のphpseclibを持っていることを確認しなければならなかったが、データはC 4A fr (Wb f 7z n: w 9 、 f7 、m = z CRW
私は何かが欠けているはずです。私はさまざまなモードを試しましたが、私はエンコーディングを探しています。解決策やアイディアがあれば教えてください。すべての適切なBDKとKSNで
include 'vendor/autoload.php';
use DUKPT\DerivedKey;
use DUKPT\KeySerialNumber;
use DUKPT\Utility;
$encryptedHexData = 'de8bfe769dca885cf3cc312135fe2cccfacf176235f4bdee773d1865334315ed2aefcab613f1884b5d63051703d5a0e2bd5d1988eeabe641bd5d1988eeabe641';
$ksn = '0117e00027';
$bdk = 'ABCDEFFEDCBA';
$key = new KeySerialNumber($ksn);
$encryptionKey = DerivedKey::calculateDataEncryptionRequestKey($key, $bdk);
$actual = Utility::hex2bin(Utility::removePadding(Utility::tripleDesDecrypt($encryptedHexData, $encryptionKey, true)));
echo $encryptionKey.'<br />';
echo $actual.'<br /><br />';
[このブログエントリ](https://www.parthenonsoftware.com/blog/how-to-decrypt-magnetic-stripe-scanner-data-with-dukpt)は、過去に私を助けてきました。 –
私はちょうどこれを試しましたhttp://57f4dad48e7a4f7cd171c654226feb5a.proxysheep.com/questions/32536045/how-to-decode-dukpt-cbc-mode-in-javaしかし、どのようにそれからクレジットカード番号を得るのですか、ありがとう – user1054513
Areあなたは現在、track1を渡す方法を参照していますか? Track1はこの[wiki](https://en.wikipedia.org/wiki/Magnetic_stripe_card)に記載されています –