• 廣東明創(chuàng)智慧科技有限公司是中國專業(yè)的身份證閱讀器供應(yīng)商,
  • 專注身份證閱讀器、指紋采集儀、社保卡讀卡器、IC卡讀寫器的一家身份證應(yīng)用服務(wù)平臺

明創(chuàng)智慧

當(dāng)前位置: 首頁 > 服務(wù)支持專區(qū) > SDK開發(fā)包 > 正文

明創(chuàng)IDR-100YB云解碼藍(lán)牙身份證閱讀器Android開發(fā)包

來源:www.mingcreate.cn   標(biāo)簽:云解碼 藍(lán)牙 IDR-100YB DK309   最近更新:2022-2-19

111.jpg

本開發(fā)包支持明創(chuàng)云解碼藍(lán)牙身份證閱讀器,支持型號IDR-100YB、DK309系列云解碼讀卡器。

點(diǎn)擊這里下載↓



public class IDCardData {

    public final static int ID_TYPE_CN = 1;       //身份證類型-居民身份證

    public final static int ID_TYPE_GAT = 2;      //身份證類型-港澳臺居民身份證

    public final static int ID_TYPE_FOREIGN = 3;  //身份證類型-外國人永久居留身份證


    public String Name = null;                   // 姓名

    public String Sex = null;                    //性別

    public String Nation = null;                 //名族

    public String Born = null;                   //出生

    public String Address = null;                //住址

    public String IDCardNo = null;               //身份證號

    public String GrantDept = null;              //簽發(fā)機(jī)關(guān)

    public String UserLifeBegin = null;          //有效期起始日期

    public String UserLifeEnd = null;            //有效期結(jié)束日期

    public String passport = null;               //通行證號碼

    public String issueNumber = null;            //簽發(fā)次數(shù)


    public Bitmap PhotoBmp = null;

    public byte[] fingerprintBytes = null;       //指紋數(shù)據(jù)

    public int type = 0;


    public IDCardData(byte[] idCardBytes){


        if (idCardBytes.length < 1295) {

            return;

        }


        if ( (idCardBytes[0] == (byte)0xaa)

                && (idCardBytes[1] == (byte)0xaa)

                && (idCardBytes[2] == (byte)0xaa)

                && (idCardBytes[3] == (byte)0x96)

                && (idCardBytes[4] == (byte)0x69)) {


            //int totalLen = ((idCardBytes[5] & 0xff) << 8) | (idCardBytes[6] & 0xff);

            int wordMsgBytesLen = ((idCardBytes[10] & 0xff) << 8) | (idCardBytes[11] & 0xff);

            int photoMsgBytesLen = ((idCardBytes[12] & 0xff) << 8) | (idCardBytes[13] & 0xff);


            byte[] wordMsgBytes = new byte[wordMsgBytesLen];

            byte[] photoMsgBytes = new byte[photoMsgBytesLen];


            if (idCardBytes.length == 1295) {   //不帶指紋

                System.arraycopy(idCardBytes, 14, wordMsgBytes, 0, wordMsgBytesLen);

                System.arraycopy(idCardBytes, 14 + wordMsgBytesLen, photoMsgBytes, 0, photoMsgBytesLen);

            }

            else {   //帶指紋

                int fingerprintBytesLen = ((idCardBytes[14] & 0xff) << 8) | (idCardBytes[15] & 0xff);   //指紋長度

                fingerprintBytes = new byte[fingerprintBytesLen];

                System.arraycopy(idCardBytes, 16, wordMsgBytes, 0, wordMsgBytesLen);

                System.arraycopy(idCardBytes, 16 + wordMsgBytesLen, photoMsgBytes, 0, photoMsgBytesLen);

                System.arraycopy(idCardBytes, 16 + wordMsgBytesLen + photoMsgBytesLen, fingerprintBytes, 0, fingerprintBytesLen);

            }


            //判斷身份證的類型是否為港澳臺身份證

            if (wordMsgBytes[248] == 'J') {

                type = ID_TYPE_GAT;

            }

            else if (wordMsgBytes[248] == 'I') {

                type = ID_TYPE_FOREIGN;

            }

            else {

                type = ID_TYPE_CN;

            }


            byte[] bytes;

            String str;

            int index = 0;


            //姓名

            bytes = new byte[30];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Name = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //性別

            if (wordMsgBytes[30] == 0x31) {

                Sex = "男";

            }

            else {

                Sex = "女";

            }

            index += 2;


            //名族

            if (type == ID_TYPE_CN) {

                bytes = new byte[4];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                try {

                    str = new String(bytes, "UTF_16LE");

                    if (str.length() == 2) {

                        int nationCode = Integer.valueOf(str, 10);

                        Nation = getNation(nationCode);

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

            index += 4;


            //出生

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Born = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //住址

            bytes = new byte[70];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                Address = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //身份證號

            bytes = new byte[36];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                IDCardNo = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //簽發(fā)機(jī)關(guān)

            bytes = new byte[30];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                GrantDept = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //有效起始日期

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                UserLifeBegin = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //有效結(jié)束日期

            bytes = new byte[16];

            System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

            index += bytes.length;

            try {

                UserLifeEnd = new String(bytes, "UTF_16LE");

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            }


            //港澳臺身份證

            if (type == ID_TYPE_GAT) {

                //通行證號碼

                bytes = new byte[18];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                index += bytes.length;

                try {

                    passport = new String(bytes, "UTF_16LE");

                } catch (UnsupportedEncodingException e) {

                    e.printStackTrace();

                }


                //簽發(fā)次數(shù)

                bytes = new byte[4];

                System.arraycopy(wordMsgBytes, index, bytes, 0, bytes.length);

                index += bytes.length;

                try {

                    issueNumber = new String(bytes, "UTF_16LE");

                } catch (UnsupportedEncodingException e) {

                    e.printStackTrace();

                }

            }


            //照片解碼

            if (photoMsgBytesLen > 0) {

                try {

                    byte[] buf=new byte[Wlt2Bitmap.IMG_LENGTH];

                    if (1 == Wlt2Bitmap.wlt2Bmp (photoMsgBytes, buf)) {

                        PhotoBmp = Wlt2Bitmap.Bgr2Bitmap (buf);

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        }

    }


    String getNation(int code){

        switch(code){

            case 01:  return "漢";

            case 02:  return "蒙古";

            case 03:  return "回";

            case 04:  return "藏";

            case 05:  return "維吾爾";

            case 06:  return "苗";

            case 07:  return "彝";

            case 8:   return "壯";

            case 9:   return "布依";

            case 10:  return "朝鮮";

            case 11:  return "滿";

            case 12:  return "侗";

            case 13:  return "瑤";

            case 14:  return "白";

            case 15:  return "土家";

            case 16:  return "哈尼";

            case 17:  return "哈薩克";

            case 18:  return "傣";

            case 19:  return "黎";

            case 20:  return "傈僳";

            case 21:  return "佤";

            case 22:  return "畬";

            case 23:  return "高山";

            case 24:  return "拉祜";

            case 25:  return "水";

            case 26:  return "東鄉(xiāng)";

            case 27:  return "納西";

            case 28:  return "景頗";

            case 29:  return "柯爾克孜";

            case 30:  return "土";

            case 31:  return "達(dá)斡爾";

            case 32:  return "仫佬";

            case 33:  return "羌";

            case 34:  return "布朗";

            case 35:  return "撒拉";

            case 36:  return "毛南";

            case 37:  return "仡佬";

            case 38:  return "錫伯";

            case 39:  return "阿昌";

            case 40:  return "普米";

            case 41:  return "塔吉克";

            case 42:  return "怒";

            case 43:  return "烏孜別克";

            case 44:  return "俄羅斯";

            case 45:  return "鄂溫克";

            case 46:  return "德昂";

            case 47:  return "保安";

            case 48:  return "裕固";

            case 49:  return "京";

            case 50:  return "塔塔爾";

            case 51:  return "獨(dú)龍";

            case 52:  return "鄂倫春";

            case 53:  return "赫哲";

            case 54:  return "門巴";

            case 55:  return "珞巴";

            case 56:  return "基諾";

            case 97:  return "其他";

            case 98:  return "外國血統(tǒng)中國籍人士";

            default : return "";

        }

    }


    public String toString() {

        if (type == ID_TYPE_GAT) {

            return "\r\n姓        名:" + Name

                    + "\r\n性        別:" + Sex

                    + "\r\n出生日期:" + Born

                    + "\r\n住        址:" + Address

                    + "\r\n身份 證號:" + IDCardNo

                    + "\r\n簽發(fā) 機(jī)關(guān):" + GrantDept

                    + "\r\n有  效  期:" + UserLifeBegin + "-" + UserLifeEnd

                    + "\r\n通行 證號:" + passport

                    + "\r\n簽發(fā) 次數(shù):" + issueNumber;

        }

        else {

            return "\r\n姓        名:" + Name

                    + "\r\n性        別:" + Sex

                    + "\r\n名        族:" + Nation

                    + "\r\n出生日期:" + Born

                    + "\r\n住        址:" + Address

                    + "\r\n身份 證號:" + IDCardNo

                    + "\r\n簽發(fā) 機(jī)關(guān):" + GrantDept

                    + "\r\n有  效  期:" + UserLifeBegin + "-" + UserLifeEnd;

        }

    }

}






(*由于產(chǎn)品升級或其他原因,明創(chuàng)IDR-100YB云解碼藍(lán)牙身份證閱讀器Android開發(fā)包產(chǎn)品實(shí)際參數(shù)有可能變更,以實(shí)際產(chǎn)品為準(zhǔn)。本文中的所有陳述、信息和建議也不構(gòu)成任何明示或暗示的擔(dān)保)

主站蜘蛛池模板: 天堂av中文字幕 | 91免费精品视频 | 亚洲日本香蕉视频 | 毛片无限看 | 91少妇精拍在线播放 | 操日本少妇| 日韩av区 | 国产中的精品av涩差av | 久久久久无码精品国产不卡 | 国产尤物av一区二区三区 | 国产av一区二区三区日韩 | 国产av成人精品播放 | 亚洲久久综合 | 久久作爱 | 91粉嫩| 免费的黄色小视频 | 台湾一级特黄aa大片免费看 | 国产免费凹凸—av视觉盛宴 | 午夜影院免费在线观看 | 五月婷婷激情六月 | 久久国产精品嫩草影院的使用方法 | 国产成人精品午夜福利a | 一色道久久88加勒比一 | 久久99精品久久久久久久清纯 | 中文字幕天使萌在线va | 成人av一区 | 久热精品在线 | www狠狠干| 综合一区无套内射中文字幕 | 99精品视频网 | 亚洲精品国偷自产在线99正片 | 好吊妞人成视频在线观看27du | 星空大象mv高清在线观看 | 中国14一18sex性hd | 91大神视频在线免费观看 | 本田岬88av在线播放 | 99免费在线观看视频 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲国产日韩在线人成蜜芽 | 激情图区在线 | 99热2 | 看成年女人午夜毛片免费 | 国产做国产爱免费视频 | 亚洲精品国产精 | 无码午夜福利片在线观看 | 影音先锋二区 | 亚洲欧美日韩成人一区二区三区 | 操波多野结衣 | 中文天堂网www新版资源在线 | 亚洲一区二区三区 | 欧美极品jizzhd欧美爆 | 亚洲日韩精品一区二区三区无码 | 精品人妖videos欧美人妖 | www.8888久久爱站网 | 日韩免费网站 | 91久久爽久久爽爽久久片 | 99视频在线精品免费观看6 | 亚洲熟妇无码av不卡在线观看 | 久久九九久精品国产免费直播 | 主站蜘蛛池模板: 蛛词}| 97精品国产久热在线观看 | 成人av在线影院 | 新婚人妻不戴套国产精品 | 污18禁污色黄网站 | 一级全黄少妇性色生活片毛片 | 欧美成人免费全部观看 | 日韩人妻无码免费视频一二区 | 中文字幕色偷偷人妻久久 | 天堂最新版资源网 | 又污又爽又黄的网站 | 中文字幕69 | 麻豆国产成人av高清在线观看 | 天天色影 | 久久天天躁狠狠躁夜夜夜 | 欧美成人高潮一二区在线看 | 国产午夜精品美女视频明星a级 | 三级全黄女人高潮 | 亚洲 自拍 欧美 小说 综合 | 第一福利视频导航 | 久久天天躁夜夜躁狠狠躁2014 | 青青操视频在线观看 | 午夜影院在线免费观看视频 | 国产精品自在线拍国产手青青机版 | 国产va精品午夜福利视频 | 少妇真实高潮叫床声 | 久久精品国产男包 | 日韩精品无码一区二区视频 | 双性娇喘浑圆奶水h男男 | 欧美激情精品久久久久久大尺度 | 免费黄色小说网址 | 亚洲日韩色在线影院性色 | 日韩va亚洲va欧美va久久 | 日韩1024 | 国产互换人妻hd | 蜜臀av中文字幕 | 亚洲跨种族黑人xxxxx | 福利免费观看午夜体检区 | 亚洲巨乳自拍 | 女兵的真人大毛片 | 国产一区亚洲二区三区 | 亚洲尤物在线 | 无码人妻丝袜在线视频红杏 | 无码人妻人妻经典 | 国产日韩精品一区二区三区在线 | 高h1v| a在线免费观看 | 日本特黄特色大片免费视频网站 | 一区二区日韩精品 | 国产美女色诱视频又又酱 | 夜夜躁狠狠躁日日躁孕妇 | 夜夜夜夜骑| 三上悠亚一区二区三区 | 久热伊人 | 最近免费中文字幕大全免费版视频 | 欧美成人高清视频a在线看 天堂999 | 三级成人在线 | 青青草大香焦在线综合视频 | 国产精品久久福利 | 国产性生交xxxxx免费 | 主站蜘蛛池模板: 蛛词}| 欧美大片在线 | 欧美成人三区 | 国产免费无码一区二区视频 | 国产电影一区二区三区 | 久久精品国产99久久99久久久 | 欧美最爽乱婬视频免费看 | a级在线视频 | 国产日韩欧美亚欧在线 | 99re6在线观看国产精品 | 91精品国产综合久久婷婷香 | 偷看农村女人做爰毛片色 | 欧美精品色婷婷五月综合 | 深夜福利一区二区三区 | 91精品一区 | 欧美熟妇与小伙性欧美交 | 国产欧美一区二区三区视频 | 四虎永久在线精品免费下载 | 久久久久噜噜噜亚洲熟女综合 | 久久国产精品99久久久久久进口 | 66av欧美| 精品无人区卡一卡二卡三乱码 | 无码人妻一区二区三区av | 国产一精品久久99无吗一高潮 | 亚洲另类欧美在线电影 | 日本久久久久久久久久加勒比 | 日本熟日本熟妇中文在线观看 | 色哟哟一区二区 | 嫩草影院网址 | 一本大道久久香蕉成人网 | 国产高清无码在线com | 欧美激情自拍 | 亚洲一区激情 | 国产百合互慰吃奶互揉视频 | 日韩久久久久久 | 特黄特色三级在线观看 | 欧美一级二级在线观看 | 国产熟妇疯狂4p交在线播放 | 精品裸体舞一区二区三区 | 精品欧美一区二区久久久 | 又粗又大内射免费视频小说 | 色综合久久中文 | 国产精品免费久久久久电影 | 四虎影视永久在线观看 | 乱码人妻一区二区三区 | 性一交一乱一伧国产女士spa | 久久久久久av无码免费网站 | 性欧美一区二区 | 久草在线在线 | 大狠狠大臿蕉香蕉大视频 | 国产av一区二区三区天堂综合网 | 国产第一区第二区 | 精品少妇无码av在线播放 | 爱色av·com| 亚洲亚洲人成综合丝袜图片 | 成人片黄网站色大片免费观看cn | 亚洲精品乱码久久久久久蜜桃动漫 | av国产片| 99精品大学生啪啪自拍 | 又粗又紧又湿又爽的视频 | 主站蜘蛛池模板: 蛛词}| 亚洲欧美日韩国产综合点击进入 | www国产无套内射com | 无码人妻专区免费视频 | 久久久国产99久久国产久一 | 国产裸体永久免费视频网站 | 亚洲爆乳成av人在线蜜芽 | 色小说综合网 | 精品无人区一区二区三区在线 | 精品少妇一区二区三区日产乱码 | 用舌头去添高潮无码视频 | 中文字幕一区二区av | 夜间视频在线观看 | 黄色天堂网 | 亚洲成av人片无码不卡 | 少妇被又大又粗又爽毛片 | 国产偷窥老熟盗摄视频 | 久久ee热这里只有精品 | 无码av最新高清无码专区 | 日本高清在线一区二区三区 | 亚洲日韩看片成人无码 | 久久亚洲欧美 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 中文乱码免费一区二区三区 | 日本一区二区三区免费观看 | 永久在线 | 色翁荡息又大又硬又粗视频 | 天堂中文在线观看 | 女女同性av片在线播放免费 | 国产午夜伦伦午夜伦无码 | 尤物色综合欧美五月俺也去 | 国内精品久久人妻无码妲己 | 久久成人午夜 | 性一交一乱一乱视频 | 国产白嫩护士在线播放 | 久操资源站| 韩国大尺度吃奶做爰 | 人妻久久久精品99系列a片毛 | 国产精品久久久久久久午夜片 | 激情噜噜 | 小视频福利 | 色婷婷综合久久久久中文一区二区 | 爽好多水快深点91 | 人妻系列无码专区无码专区 | 日韩欧美少妇 | 欧美日韩一区三区 | 成人毛片网站 | 日本在线免费视频 | 日本欧美v大码在线 | 精品久久精品久久 | 国产精品无码一区二区在线看 | 青青青爽久久午夜综合久久午夜 | 91高清在线免费观看 | 国产麻豆天美果冻无码视频 | 欧美疯狂做受xxxx高潮 | 嫩草影业地址 | 九色视频丨porny丨丝袜 | 视频在线 | porny | 国产 欧美黄色录相 | 加勒比色综合久久久久久久久 | 国产日韩成人内射视频 | 主站蜘蛛池模板: 蛛词}| 亚洲精品国产综合麻豆久久99 | 亚洲中国色老太 | 国产精品欧美在线视频 | 亚洲一区二区三区四区在线 | 成年网站在线 | 国产高清av首播原创麻豆 | 乱肉放荡艳妇视频6399 | 超碰在线免费97 | 日本免费黄色一级片 | 中文字幕在线免费观看视频 | 欧美草b内射在线aaaaaa | 蜜桃视频一区二区三区四区开放时间 | 99这里只有精品 | 日韩片在线 | 99久久精品免费看国产小宝寻花 | 国产欧美一区二区精品久导航 | 欧美日韩少妇精品 | 91精品国产乱码久久久久久张柏芝 | 一本加道在线 | av中文在线 | 国产精品一区饥渴老女人 | 四虎最新站名点击进入 | 最新免费黄色 | 国产精品亚洲专区无码破解版 | 国产三级精品三级在专区 | 国产姿势对白刺激呻吟 | 久久久久久久久久久久亚洲 | 日韩视频一区二区三区在线观看 | 国产精品久久久久永久免费观看 | 国产精品视频yjizz免费 | 精品国产乱码一区二区三区99 | 97超碰免费在线 | 精69xxxⅹxx喷潮 | 在线观看免费黄色小视频 | 久久国产成人 | 日韩一区二区三区四区区区 | 国产精品不卡一区二区三区 | 乱子轮熟睡1区 | 波多野结av衣东京热无码专区 | 18视频在线观看3d | 亚洲图片欧美日韩 | 三级男人添奶爽爽爽视频 | 国产日韩精品视频一区二区三区 | 国产一区二区三区免费看 | 免费人成网站在线观看不卡 | 天天天天天天天操 | 香蕉久久国产超碰青草 | 日韩精品无码一区二区三区久久久 | 久久国产欧美日韩精品 | 91免费高清观看 | av在线男人天堂 | 亚洲日本国产综合高清 | 欧美亚洲另类丝袜综合 | 国产三级在线观看免费 | 18禁黄久久久aaa片广濑美月 | 成人激情小说网站 | 欧美一区二区三区 | 中文字幕日韩在线视频 | 在线国产播放 |