क्या स्मार्टकार्ड रीडर का उपयोग कर स्मार्टकार्ड से सी # में डेटा लिखने और पढ़ने के लिए ओपन सोर्स लाइब्रेरी है? मेरा स्मार्टकार्ड मॉडल mifare1k
है और मेरा पाठक ucr122u
है।आप स्मार्टकार्ड को कैसे लिखते/पढ़ते हैं?
उत्तर
डैनियल मुलर के PcSC-तेज बाहर की जाँच करें, https://github.com/danm-de/pcsc-sharp
काम करता है बहुत अच्छी तरह से मेरे लिए पर खिड़कियों और मोनो।
वर्तमान लिंक: https://github.com/danm-de/pcsc-sharp –
मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन आप PCSC-तीव्र जो सी # में लिखा नेट के लिए
पीसी/एससी आवरण कक्षाएं, है सकते हैं। पैकेज में कक्षाओं में सिस्टम के देशी पीसी/एससी एपीआई का उपयोग कर व्यक्तिगत कंप्यूटर/स्मार्ट कार्ड संसाधन प्रबंधक तक पहुंच है। आंशिक ISO7816 समर्थन लागू करता है। लाइब्रेरी को विंडोज और यूनिक्स दोनों पर चलाने के लिए लिखा गया है ( पीसीएससी लाइट का उपयोग कर मोनो के साथ लिनक्स)।
परियोजना GitHub पर है: https://github.com/danm-de/pcsc-sharp
तुम भी प्रलेखन यहाँ देख सकते हैं: acr1252u
मैं कोड एक C++ समाधान पाया है: केवल लिंकर में हमें winscard.h
#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <cstdint>
#include <cstring>
#include <winscard.h>
std::wstring s2ws(const std::string& s);
int main(int argc, char* argv[]) {
SCARDCONTEXT context = 0;
LONG ret = SCardEstablishContext(SCARD_SCOPE_SYSTEM, nullptr, nullptr, &context);
if (ret != SCARD_S_SUCCESS) {
std::cout << "SCardEstablishContext: " << ret<< std::endl;
}
else {
LPTSTR allReaderNames = nullptr;
DWORD readerCount = SCARD_AUTOALLOCATE;
ret = SCardListReaders(context, nullptr, reinterpret_cast<LPTSTR>(&allReaderNames), &readerCount);
if (ret != SCARD_S_SUCCESS) {
std::cout << "SCardListReaders: " << ret << std::endl;
}
else {
std::string readerName("ACS ACR1252 1S CL Reader PICC 0");
std::wstring stemp = s2ws(readerName);
LPCWSTR result = stemp.c_str();
DWORD activeProtocol = 0;
SCARDHANDLE card = 0;
ret = SCardConnect(context, result, SCARD_SHARE_DIRECT, 0, &card, &activeProtocol);
if (ret != SCARD_S_SUCCESS) {
std::cout << "SCardConnect: " << ret << std::endl;
}
else {
std::vector<std::uint8_t> outputBuffer{ 0xE0, 0x0, 0x0, 0x21, 0x01, 0x71 };
std::vector<std::uint8_t> inputBuffer(64, 0);
DWORD bytesReturned = 0;
DWORD controlcode = SCARD_CTL_CODE(3500);
ret = SCardControl(card, controlcode, outputBuffer.data(), outputBuffer.size(), inputBuffer.data(), inputBuffer.size(), &bytesReturned);
if (ret != SCARD_S_SUCCESS) {
std::cout << "SCardControl: " << ret << std::endl;
}
else {
std::cout << "Response: " << std::hex << std::setfill('0');
for (std::size_t i = 0; i < bytesReturned; ++i) {
std::cout << std::setw(2) << static_cast<std::uint32_t>(inputBuffer[i]) << " ";
}
std::cout << std::dec << std::endl;
SCardDisconnect(card, SCARD_LEAVE_CARD);
}
}
// Release the memory that SCardListReaders allocated for us
SCardFreeMemory(context, allReaderNames);
}
ret = SCardReleaseContext(context);
if (ret != SCARD_S_SUCCESS) {
std::cout << "SCardReleaseContext: " << ret << std::endl;
}
std::getchar();
}
return 0;
}
std::wstring s2ws(const std::string& s)
{
int len;
int slength = (int)s.length() + 1;
len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);
wchar_t* buf = new wchar_t[len];
MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len);
std::wstring r(buf);
delete[] buf;
return r;
}
जोड़ने की आवश्यकता है
- 1. स्मार्टकार्ड प्रोग्रामिंग शुरू करना
- 2. सी # स्मार्टकार्ड प्रोग्रामिंग
- 3. ब्लैकबेरी स्मार्टकार्ड रीडर उदाहरण
- 4. आप केवल कुकीज़ को कैसे हटाते हैं?
- 5. आप परियोजना परियोजनाओं को कैसे छिपाते हैं?
- 6. आप XamlParseException को कैसे डिबग करते हैं?
- 7. आप wx.Panel को रीफ्रेश कैसे करते हैं?
- 8. आप फ़िल्टर स्थितियों को कैसे जोड़ते हैं
- 9. आप JVM को कैसे क्रैश करते हैं?
- 10. आप भगवान वर्ग को कैसे दोहराते हैं?
- 11. , आप आइटम को कैसे क्रमबद्ध करते हैं?
- 12. सी # - आप टाइमर को कैसे रोकते हैं?
- 13. आप कैसे FB.Canvas.scrollTo को एनिमेट करते हैं?
- 14. आप ActiveRecord ऑब्जेक्ट को कैसे हटाते हैं?
- 15. आप कैसे प्रतिक्रिया करते हैं?
- 16. आप प्रोटोटाइप कैसे करते हैं?
- 17. जब आप Toolkit.getDefaultToolkit() को AWTError फेंकते हैं तो आप जावा में एक छवि कैसे पढ़ते हैं?
- 18. एमवीसी 3 वेबग्रिड - आप उन कॉलम को कैसे छुपाते हैं जिन्हें आप दिखाना नहीं चाहते हैं?
- 19. आप धागे को कैसे रोकते हैं और अपने रजिस्टरों को ढेर में कैसे फिसलते हैं?
- 20. .NET में स्मार्टकार्ड के साथ पीडीएफ फाइलों को डिजिटल रूप से कैसे हस्ताक्षर करें?
- 21. आप कोड को दोबारा कब करते हैं?
- 22. आप जावा एप्लेट्स को कैसे डिबग करते हैं?
- 23. आप प्रोग्रामपॉइंट सूचियों को प्रोग्रामिक रूप से कैसे पढ़ते हैं?
- 24. आप अच्छे कोड को कैसे प्रोत्साहित करते हैं?
- 25. यूनिटटेस्ट आप अपनी परीक्षण फाइलों को व्यवस्थित कैसे करते हैं?
- 26. आप अपने जावास्क्रिप्ट को कैसे अनुकूलित करते हैं?
- 27. आप विजुअल स्टूडियो लिंक त्रुटियों को "डीकोड" कैसे करते हैं?
- 28. आप अच्छी प्रोग्रामिंग से बने सामानों को कैसे सिखाते हैं?
- 29. आप setTimeout() के कई उदाहरणों को कैसे प्रबंधित करते हैं?
- 30. आप पाइथन/पोस्टग्रेएसक्यूएल को तेज़ी से कैसे बनाते हैं?
संभावित डुप्लिकेट [क्या आपके पास आरएफआईडी स्मार्ट कार्ड रीडर में डेटा सहेजने के लिए ओपन सोर्स उदाहरण है ..] (http://stackoverflow.com/questions/4014037/do-you-have-an-open-source-example ----save-data-in-rfid-smart-card-reader) – TFD
@TFD, यह प्रश्न बहुत अधिक विशिष्ट है, जिसे उत्तर देना भी आसान बनाना चाहिए। यह एक विशिष्ट कार्ड और पाठक का उल्लेख करता है। –
@Matthew_Flaschen सच है, लेकिन आईआईआरसी MIFARE यूसीआर एशियाई क्लोन हैं, यह पता लगाने की जरूरत है कि वैसे भी बेस मॉडल क्या है। पूछा गया पहला सवाल है। इसके अलावा मिफायर 1k का उपयोग करने वाले किसी भी व्यक्ति को उनके सिर को पढ़ने की जरूरत है! – TFD