• 廣東明創智慧科技有限公司是中國專業的身份證閱讀器供應商,
  • 專注身份證閱讀器、指紋采集儀、社保卡讀卡器、IC卡讀寫器的一家身份證應用服務平臺
服務熱線:400-0020-908 官方微信 產品標簽 網站地圖 EN

明創智慧

當前位置: 首頁 > 服務支持專區 > SDK開發包 > 正文

明創IDR-100YB云解碼藍牙身份證閱讀器Android開發包

來源:www.mingcreate.cn   標簽:云解碼 藍牙 IDR-100YB DK309   最近更新:2022-2-19

111.jpg

本開發包支持明創云解碼藍牙身份證閱讀器,支持型號IDR-100YB、DK309系列云解碼讀卡器。

點擊這里下載↓



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;              //簽發機關

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

    public String UserLifeEnd = null;            //有效期結束日期

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

    public String issueNumber = null;            //簽發次數


    public Bitmap PhotoBmp = null;

    public byte[] fingerprintBytes = null;       //指紋數據

    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();

            }


            //簽發機關

            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();

            }


            //有效結束日期

            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();

                }


                //簽發次數

                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 "東鄉";

            case 27:  return "納西";

            case 28:  return "景頗";

            case 29:  return "柯爾克孜";

            case 30:  return "土";

            case 31:  return "達斡爾";

            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 "獨龍";

            case 52:  return "鄂倫春";

            case 53:  return "赫哲";

            case 54:  return "門巴";

            case 55:  return "珞巴";

            case 56:  return "基諾";

            case 97:  return "其他";

            case 98:  return "外國血統中國籍人士";

            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簽發 機關:" + GrantDept

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

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

                    + "\r\n簽發 次數:" + issueNumber;

        }

        else {

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

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

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

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

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

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

                    + "\r\n簽發 機關:" + GrantDept

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

        }

    }

}






(*由于產品升級或其他原因,明創IDR-100YB云解碼藍牙身份證閱讀器Android開發包產品實際參數有可能變更,以實際產品為準。本文中的所有陳述、信息和建議也不構成任何明示或暗示的擔保)

72成人网| 东北老头老太国产| 欧美毛片无码又大又粗黑寡妇| 欧美日韩亚洲国内综合网| 琪琪午夜伦理| 国产午夜片无码区在线播放| 亚洲石原莉奈一区二区在线观看 | 日韩精品久久一区二区| av观看网站| 人人干天天干| 无码国产精品一区二区免费3p| 成人欧美一区二区三区黑人| 欧洲免费av| 91久久久精品国产一区二区蜜臀| 国产精品va无码二区| 女女综合网| 国产伦精品一区二区三区在线观看| 日韩精品电影综合区亚洲| 黑巨人与欧美精品一区| 羞羞影院成人午夜爽爽在线| 国产香蕉97碰碰视频碰碰看| 91av资源在线| 黄色a∨| 深夜天堂| 波多野吉衣在线观看视频| 亚洲成a∧人片在线播放调教| 午夜福利国产在线观看1| 亚洲看片网站| 尤果网福利视频在线观看| 中文字幕人妻无码专区app| 色综合区| 国产粗话肉麻对白| 成人看片黄a免费看| 青草伊人网| 亚洲欧美洲成人一区二区| 亚洲精品自产拍在线观看动漫| 噜噜吧噜吧噜吧噜噜网a| 日韩欧美一级大片| 怀孕挺大肚子疯狂高潮av毛片| 国产色情又大又粗又黄的电影| 久久频| 久久久婷| 久久精品日本啪啪涩涩| 国产伦精品一区| 免费看黄a级毛片| 人人玩人人添人人澡超碰| 在线99视频| 天天插天天透| 天天爽夜夜爽人人爽| 可以免费观看的av| 2020久热爱精品视频在线观看| 免费特级黄毛片| 日本精品中文字幕| 亚洲欧洲日产国码无码av一| 欧美大片在线看免费观看| 亚洲精品一区二区在线播放∴| 久久久人体| 成人97| 亚洲欧美不卡| 国产成人亚洲精品另类动态图| 一区二区高清在线| 蜜桃视频一区二区三区| 欧美黄一级| 国产在线乱码一区二三区| 久久思| 国产日本视频| av在线观| 久草a视频| 日韩av无码午夜免费福利制服| 久久影库| 91性视频| 99热这里只有精品8| 无套内谢少妇露脸| 激情av无码后入| 4k岛国高清加勒比av| 欧美精品一区二区三区四区| 欧美一区二区三区爱爱| 男男野外做爰全过程69| 精品欧美一区免费观看α√ | 国产尤物在线视精品在亚洲| 高h1v| 成人av一本不卡二卡| 欧美色图片区| 欧洲国产在线精品手机版| 成人开心激情| 少妇学院在线观看| 国产精品毛片久久久久久久av| www17c亚洲蜜桃| 一亚洲乱亚洲乱妇23p| 美国黄色a级片| av网站免费线看| 国产在线观看你懂得| 国产免费艾彩sm调教视频| 妺妺窝人体色www在线观看| 四虎影| 91精品在线播放| 日日碰狠狠添天天爽五月婷 | 日本在线高清| 夜夜爱视频| 台湾无码一区二区| 中文字幕人妻在线中字| 日本少妇xxxx| 亚洲欧洲日本一区二区三区| 亚洲婷婷网| 99久久国产视频| www插插插无码免费视频网站| 国产在线精| 午夜精品久久久久久久四虎| 日韩精品毛片无码一区到三区| av日韩av| 黄色高清片| 无码av高潮喷水无码专区线| 亚洲最大成人综合网720p| 日韩一区二区三免费高清| 99re免费视频| h视频免费在线观看| 国产在线无码不卡影视影院| av射进来| 久久精品女人天堂av麻| 一区二区三区日韩在线| 欧美日韩字幕| 无码专区人妻系列日韩精品| 精品视频国产香人视频| 福利在线免费| 2020最新国产情侣网站| 免费国产在线精品一区不卡| 亚洲欧洲在线视频| 山东熟女啪啪哦哦叫| 成人免费一级| 青草内射中出高潮| 久久久精品日韩| 一区二区三区亚洲欧美| 三级毛片网站| 国产无遮挡又黄又爽不要vip网站| 性欧美一区二区| 中日韩乱码一二新区| 国产极品美女高潮无套浪潮av| 久爱视频在线观看| 小视频免费在线观看| 人妻无码不卡中文字幕系列| 丰满放荡岳乱妇91www| 亚洲国产美女视频| 日韩一三区| 国产人妻人伦精品久久久| 亚州国产| 日本中文一区二区三区亚洲| 亚洲三级在线播放| 四虎tv| 亚洲成人国产| 麻豆影视大全| 日本www.在线中文字幕| 亚洲高清无在码在线电影不卡| av动漫免费观看| 日本特黄色片| 色综合社区| 亚洲情在线| 日本熟妇毛茸茸丰满| 免费在线看a| 国产毛片精品国产一区二区三区| www.久久av| 日韩一区二区三区精品视频| jizz美女| av不卡在线看| 国产99久久久| 国产女主播高潮在线播放| 欧美偷拍一区二区三区| 1024永久福利手机看片| 精品国产女主播在线观看| 成人片免费看| 69xxx中国| 欧洲无线码一二三四区| 国产小视频网站| 24小时日本在线www免费的| 久久99精品九九九久久婷婷| 真人无码国产作爱免费视频| 日产中文字幕在线精品一区| 国产超级av| 国内熟妇人妻色无码视频在线| 精品国产福利在线视频| 一区二区三区人妻无码| 在线观看的网站| 国产无套喷白浆在线播放| 九七伦理97伦理手机| 亚洲欧美黄色片| 久久久国产99久久国产久| 婷婷超碰| 久久看av| 日韩精品成人一区二区三区| 欧美综合一区| 少妇又紧又色又硬又爽| julia中文字幕在线| 欧美乱大交做爰xxxⅹ| 色偷偷噜噜噜亚洲男人| 国产中文字幕一区| 亚洲精品成人片在线观看精品字幕| av免费高清| 福利国产视频| 亚洲高清网| 欧美激情视频一区| 亚洲综合精品视频| 久久99久国产精品66| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 日韩在线一区二区三区 | 中文在线好最新版在线| 性史性dvd影片农村毛片| 国产成人精品一二三区| 国产传媒毛片精品视频第一次| 免费欧美一级| 久艾草久久综合精品无码| 中文在线最新版天堂| 黄色大毛片| 特高潮videossexhd| 牛和人交xxxx欧美| 播放毛片| 亚洲色图欧美自拍| 在线 亚洲 国产 欧美| 美女高潮久久| 一二三四在线视频社区3| 久久免费99精品国产自在现线| 狠狠色狠狠色综合网老熟女| 醉酒后少妇被疯狂内射视频| 可以免费看毛片的网站| 色婷婷五月在线精品视频| 日韩欧美卡一卡二卡新区| 国产精品久久成人网站| 丰满白嫩大屁股ass| 天天综合网亚在线| 西西4444www大胆无码| 久久嫩草| 456成人网| 九九国产精品视频| 丁香婷婷激情五月| 亚欧色一区w666天堂| 思思99re6国产在线播放| 可以免费在线观看的av| 男人天堂新| 熟妇与小伙子matur老熟妇e| 亚洲一区二区三区影院| 国产精品爽到爆呻吟高潮不挺| 吸咬奶头狂揉60分钟视频| 亚洲女线av影视宅男宅女天堂 | 一个人看的www视频免费观看| 一道本在线观看视频| 免费观看又色又爽又湿的软件 | 亚洲中文字幕久久精品无码a| 精品视频一二三区| 亚洲国产午夜精品理论片在线播放| 粗暴蹂躏av一区二区| 精品乱码一卡2卡三卡4卡二卡| 久久亚洲一区二区三区明星换脸| 精品精品国产欧美在线小说区| 2020久久香蕉国产线看观看| 欧美牲交videossexeso欧美| 亚洲午夜影视| 日本在线免费| 亚洲最黄视频| 国产一级淫片a直接免费看| 国产午夜禁区精品视频| 午夜国产成人片在线播放| 日韩欧美亚洲国产精品字幕久久久| 精品无码人妻一区二区三区品| 欧美性受视频| 三级毛片网站| 亚洲337少妇裸体艺术| 久久久久久久久久久久久国产| 日日噜夜夜噜| 国产精品内射后入合集| 欧美乱妇高清无乱码| 国产综合欧美| 国产综合图区| 日本性生活一级片| 国产suv精品一区二区883| 国产精品亚洲二区在线观看| 成人免费毛片东京热| 性视频网站免费| 欧美激情免费观看| 日韩无码电影| 夜福利视频| av在线资源网| 成人性生交大片免费网站 | 日韩精品视频一二三| 日本视频www| 亚洲国产成人久久综合同性| 97久久国产露脸精品国产| 成人做爰高潮片免费视频九九九| 91大神在线免费观看| 久热在线| 韩国精品福利一区二区三区| 国产日韩精品一区二区三区在线| 99热99| 久操视频在线观看| www黄在线观看| 亚洲欧美一区二区在线观看| 91av视频网站| 91偷自产一区二区三区蜜臀| 亚洲欧美国产精品| 人人妻人人澡人人爽国产| 日韩精品区一区二区三vr| aa免费视频| 色欲天天婬色婬香综合网完整版| 国产精品久久久久久福利| www爱爱| www.15hdav.com| 最新免费av网址| 国产ts人妖调教重口男 | 色午夜av| 午夜影院一区| 日韩成人在线视频| 免费看三级黄色片| 精品国产一区二区三区日日嗨| 911国产在线| 色综合天天天天做夜夜夜夜做| 欧美久久精品一级黑人c片| 久久黄色免费视频| 欧美黑人又粗又大又爽免费| 欧洲精品免费一区二区三区| 亚洲高清国产av拍精品青青草原| 97福利视频| 日韩欧美一级大片| 色久综合网| 三级黄色网络| 国产露脸911| 99在线精品视频观看| 专干老肥熟女视频网站| 国产杨幂丝袜av在线播放| 东京热人妻系列无码专区| 日韩av日韩| 全部免费的毛片在线看| 麻豆视传媒精品av| av在线免费观看网站| 国产69精品久久久久99| 成人免费无码大片a毛片软件| 精品人妻大屁股白浆无码| 欧美性大战久久久久久| 美女视频一二三区| 无码国产精品高潮久久9| 成人看片黄a免费看| 欧美成 人 在线播放视频| 欧美高清在线一区| 五月天精品一区二区三区|