Как сохранить изображение отпечатка пальца на смарт-карте в java
how to store my finger print image in smart card using java
Что я уже пробовал:
TerminalFactory фабрика = TerminalFactory.getDefault();
Список терминалов = фабрика.клеммы().список();
System.out.println("Reader:" + терминалы);
// Используйте первый кард-ридер:
CardTerminal terminal = terminals.get(0);
// Установить соединение с картой:
Карта card = terminal.connect("T=0");
Системы.из.код println("карта:" + карта);
CardChannel канал = КАРТА.getBasicChannel();
Итератор писателей = ImageIO.getImageWritersByFormatName("БМП");
Инструкция писатель = (инструкция)писателей.далее();
File f=новый файл("требуется\\75.БМП");
MessageDigest MessageDigest ;
пробовать {
messageDigest = MessageDigest.getInstance("MD5");
FileInputStream input = новый FileInputStream(f);
byte[] buffer = новый байт[8192];
int длина;
пока( (длина = вход.читать(буфера)) != -1 ) {
messageDigest.update(буфер, 0, длина);
}
byte[] raw = messageDigest.digest();
//распечатка в базе 64
BASE64Encoder encoder = новый BASE64Encoder();
Строка base64 = encoder.encode(raw);
// Системы.из.печати(в формате base64.метод toString());
Строковые данные=формат base64.метод toString();
байт[] смещение=сведения.метод getbytes();
int length1=data.length();
// System.out.print(смещение);
пробовать {
CommandAPDU commandAPDU = новый CommandAPDU(0x00, 0xB2, 1, 1, offset, 0, length1);
byte[] commandBytes = commandAPDU.getBytes();
// System.out.print(commandBytes);
ResponseAPDU responseAPDU = null;
if (channel != null) {
responseAPDU = channel.transmit(commandAPDU);
байт[] результат=responseAPDU.метод getbytes();
String s = новая строка(commandBytes);
System.out.println("текст расшифрован :" + s.substring(5));
// System.out.print(responseAPDU);
}
}
поймать (CardException е) {
throw new IOException(e);
}
// и отобразить результаты
//JOptionPane.showMessageDialog(JOptionPane.getRootFrame(),"ваш файл отпечатка пальца" + новая строка(base64.toString()));
// вычисление из данного файла, запускающего его внутри
// при расчете формулы дайджеста
} catch (NoSuchAlgorithmException ex) {
Регистратор.getLogger(JavaApplication1.класс.метод getname()).журнал(уровень.Тяжелый, нулевой, бывший);
}
карта.разъединение(ложь);
Richard MacCutchan
У вас есть вопрос?